我有一个解决方案,其中包含针对 .NET Framework 4.6.1 的项目和一个针对 .NET Core 2.0 的项目。 此 .Net Core 项目引用了针对 .NET Framework 4.6.1 的项目。
在本地,使用 Visual Studio 2017 Community,我可以毫无问题地构建此解决方案。
我正在尝试使用以下步骤配置 TeamCity 构建:
1 - 清理包文件夹
2 - 获取包:运行程序类型 = NuGet Installer 和恢复模式 = Restore
3 - 恢复:dotnet 恢复 MyDonetCoreProject.csproj
4 - 构建解决方案:运行程序类型 = Visual Studio (sln) 和 VS 2017
我在编译 .NET Core 项目时遇到编译错误:
C:\Program Files\dotnet\sdk\2.1.301\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(198, 5): Package Microsoft.AspNetCore, version 2.0.3 was not found. It might have been deleted since NuGet restore. Otherwise, NuGet restore might have only partially completed, which might have been due to maximum path length restrictions.
我检查了 TeamCity 服务器上的路径 C:\Users\MyUser\.nuget\packages\microsoft.aspnetcore
,并且有一个文件夹 2.0.3
。
我的解决方案中没有对此包的任何引用。这个包的目的是什么?它在哪里查找?
最佳答案
为什么不使用 .NetCore CLI 命令来构建 .NetCore 应用程序或库。但同时,您应该在构建代理上同时拥有.NetCore 2.0和.NET Framework 4.6.1。 我对 TeamCity CI 不熟悉,你可以试试这个,
而不是步骤<< 4 - 构建解决方案:运行程序类型 = Visual Studio (sln) 和 VS 2017 >>
dotnet 构建 [.NetCore 的 .csproj]
https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-build?tabs=netcore2x
您可以考虑使用 .net 标准(作为目标),而不是使用特定框架版本的目标(如果适用)。
关于.net - 在 Teamcity 上构建混合解决方案(.NET Framework 和 .NET Core)时找不到包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51263111/