我有.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(因爲它可能會給測試用例增加額外的怪異性,而且我經常會面對我的開源項目)。 –