我有.NET Core projects我想在Mac和Linux上使用最新的Mono和.NET Core 1.0.1工具(基于MSBuild的csproj工具)构建Travis CI。他们的目标是netstandard1.6.1
,net45
和net461
。我从Travis CI得到的错误是:建设VS 2017 MSBuild csproj在Linux上使用Mono的项目
/usr/share/dotnet/sdk/1.0.1/Microsoft.Common.CurrentVersion.targets(1111,5): 错误MSB3644:为框架 参考组件没有找到“.NETFramework,Version = v4.5”。要解决此问题,请为此框架版本安装 SDK或定位套件,或将您的 应用重定向到您安装了SDK 或定位套件的框架版本。请注意,程序集将从全局程序集缓存(GAC)中解析出 ,并将用于替代 引用程序集。因此,您的程序集可能不正确 针对您打算的框架。
单声道不支持VS 2017基于MSBuild的csproj项目吗?我怎样才能让我的项目构建?
如果针对.NET框架的配置文件,您应该使用Windows(AppVeyor)。 Linux上的.NET Core工具应该能够根据.NET Core配置文件进行编译。单声道不是必需的,它不是.NET Framework(提醒)。 –
@LexLi:当你想测试一个项目的.NET Core构建(至少)在Linux上工作时,这是一个非常糟糕的解决方案。我现在正面临这个问题......我希望我能够添加一个答案。 –
@JonSkeet绝对是一个不好的解决方案,它限制测试用例只能在Windows和.NET Framework上运行。但是在这种情况下,Mono没有资格替换.NET Framework(因为它可能会给测试用例增加额外的怪异性,而且我经常会面对我的开源项目)。 –