将PCL升级到.NET Standard 2.0后在Mac上生成错误

upgraded我的独立PCL库使用\cdot。现在,我尝试在Mac上构建,但出现以下错误:

.Net Standard 2.0

您可以看到我正在使用XamlC: Compiling Xaml,assembly: obj/Release/netstandard2.0/Mylibrary.dll "obj/Release/netstandard2.0/XamlC.stamp" wird erstellt,da "AlwaysCreate" angegeben wurde. GenerateSatelliteAssemblies: Das Verzeichnis "obj/Release/netstandard2.0/de" wird erstellt. /library/Frameworks/Mono.framework/Versions/5.18.0/lib/mono/4.5/al.exe /culture:de /out:obj/Release/netstandard2.0/de/Mylibrary.resources.dll /template:obj/Release/netstandard2.0/Mylibrary.dll /embed:obj/Release/netstandard2.0/Mylibrary.Common.Localization.LibResources.de.resources /usr/local/share/dotnet/sdk/2.1.700/Sdks/microsoft.NET.Sdk/targets/microsoft.NET.Sdk.targets(129,5): error MSB4018: Unerwarteter Fehler bei der GenerateDepsFile-Aufgabe. [/Users/someuser/.jenkins/workspace/Mylibrary/Mylibrary/Mylibrary.csproj] /usr/local/share/dotnet/sdk/2.1.700/Sdks/microsoft.NET.Sdk/targets/microsoft.NET.Sdk.targets(129,5): error MSB4018: System.TypeloadException: Could not load type of field 'microsoft.NET.Build.Tasks.DependencyContextBuilder:_filteredPackages' (12) due to: Could not resolve type with token 01000025 from typeref (expected class 'NuGet.Packaging.Core.PackageIdentity' in assembly 'NuGet.Packaging,Version=5.1.0.5,Culture=neutral,PublicKeyToken=31bf3856ad364e35') assembly:NuGet.Packaging,PublicKeyToken=31bf3856ad364e35 type:NuGet.Packaging.Core.PackageIdentity member:(null) [/Users/someuser/.jenkins/workspace/Mylibrary/Mylibrary/Mylibrary.csproj] /usr/local/share/dotnet/sdk/2.1.700/Sdks/microsoft.NET.Sdk/targets/microsoft.NET.Sdk.targets(129,5): error MSB4018: at microsoft.NET.Build.Tasks.TaskBase.Execute () [0x00000] in <a7945d89c0ac41f8a1c76203a2991e34>:0 [/Users/someuser/.jenkins/workspace/Mylibrary/Mylibrary/Mylibrary.csproj] /usr/local/share/dotnet/sdk/2.1.700/Sdks/microsoft.NET.Sdk/targets/microsoft.NET.Sdk.targets(129,5): error MSB4018: at microsoft.build.BackEnd.TaskExecutionHost.microsoft.build.BackEnd.ITaskExecutionHost.Execute () [0x00029] in <4e0a1f1d78cf4c1ebd6f9a3dbcebf3bb>:0 [/Users/someuser/.jenkins/workspace/Mylibrary/Mylibrary/Mylibrary.csproj] /usr/local/share/dotnet/sdk/2.1.700/Sdks/microsoft.NET.Sdk/targets/microsoft.NET.Sdk.targets(129,5): error MSB4018: at microsoft.build.BackEnd.TaskBuilder.ExecuteInstantiatedTask (microsoft.build.BackEnd.ITaskExecutionHost taskExecutionHost,microsoft.build.BackEnd.Logging.TaskLoggingContext taskLoggingContext,microsoft.build.BackEnd.TaskHost taskHost,microsoft.build.BackEnd.ItemBucket bucket,microsoft.build.BackEnd.TaskExecutionmode howToExecutetask) [0x00212] in <4e0a1f1d78cf4c1ebd6f9a3dbcebf3bb>:0 [/Users/someuser/.jenkins/workspace/Mylibrary/Mylibrary/Mylibrary.csproj] Die Erstellung des Projekts "/Users/someuser/.jenkins/workspace/Mylibrary/Mylibrary/Mylibrary.csproj" ist abgeschlossen (Standardziele) -- FEHLER. Die Erstellung des Projekts "/Users/someuser/.jenkins/workspace/Mylibrary/Mylibrary.sln" ist abgeschlossen,Build Ziel(e) -- FEHLER. Fehler beim Buildvorgang. 进行构建,但这根本不是问题(使用了Jenkins)。这个问题似乎是known issue,但我不知道如何在给定的情况下(使用旧版本的msbuild)解决此问题。这些是使用的版本:

Visual Studio for Mac

我应该怎么做才能使构建再次正常运行?除了更新为=== Visual Studio Community 2017 for Mac === Version 7.8.4 (build 1) Installation UUID: 3d97ef3f-5e3c-496d-bba3-bf410eac83a0 GTK+ 2.24.23 (Raleigh theme) Xamarin.Mac 5.0.0.0 ( / b40230c0) Package version: 518000268 === Mono Framework MDK === Runtime: Mono 5.18.0.268 (2018-08/68aad3b0eb7) (64-bit) Package version: 518000268 === NuGet === Version: 4.8.2.5835 === .NET Core === Runtime: /usr/local/share/dotnet/dotnet Runtime Versions: 2.1.11 2.1.9 2.1.2 2.1.1 2.0.5 2.0.0 SDK: /usr/local/share/dotnet/sdk/2.1.700/Sdks SDK Versions: 2.1.700 2.1.505 2.1.302 2.1.301 2.1.4 2.0.0 MSBuild SDKs: /library/Frameworks/Mono.framework/Versions/5.18.0/lib/mono/msbuild/15.0/bin/Sdks === Xamarin.Profiler === Version: 1.6.10 Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler === Updater === Version: 11 === Xamarin.Android === Version: 9.3.0.23 (Visual Studio Community) Android SDK: /Users/someuser/library/Android/sdk Supported Android versions: 4.4 (API level 19) 4.4.87 (API level 20) 5.0 (API level 21) 5.1 (API level 22) 6.0 (API level 23) 7.0 (API level 24) 7.1 (API level 25) 8.0 (API level 26) 8.1 (API level 27) SDK Tools Version: 26.1.1 SDK Platform Tools Version: 27.0.1 SDK Build Tools Version: 27.0.1 === microsoft Mobile OpenJDK === Java SDK: /Users/someuser/library/Developer/Xamarin/jdk/microsoft_dist_openjdk_8.0.25 1.8.0-25 Android Designer EPL code available here: https://github.com/xamarin/AndroidDesigner.EPL === Android Device Manager === Version: 7.8.1.0 Hash: 8924ea4a === Apple Developer Tools === Xcode 10.2.1 (14490.122) Build 10E1001 === Xamarin.Mac === Version: 5.10.0.157 (Visual Studio Community) Hash: 6bd94753 Branch: d16-1 Build date: 2019-06-12 17:28:48-0400 === Xamarin.iOS === Version: 12.4.0.64 (Visual Studio Community) Hash: 9c8d8e0a Branch: xcode10.2 Build date: 2019-03-27 06:24:31-0400 === Xamarin Inspector === Version: 1.4.3 Hash: db27525 Branch: 1.4-release Build date: Mon,09 Jul 2018 21:20:18 GMT Client compatibility: 1 === Build Information === Release ID: 708040001 Git revision: 9e1629d19c3f9f6d11a5d9895993a8edf1e7a3aa Build date: 2019-05-10 19:37:45+00 Build branch: release-7.8 Xamarin extensions: c3cb4059acaf9142b2a5c176866edfc4c32b7da2 === Operating System === Mac OS X 10.14.6 Darwin 18.7.0 Darwin Kernel Version 18.7.0 Thu Jun 20 18:42:21 PDT 2019 root:xnu-4903.270.47~4/RELEASE_X86_64 x86_64 (v。8+)以外?升级到更新的Mono版本是否足够(哪个版本?)?仍然可以使用我的设置吗?

elegance2028 回答:将PCL升级到.NET Standard 2.0后在Mac上生成错误

现在我可以解决问题了。多亏了post from AndreyAkinshin我已经解决了。

有了dotnet --list-sdks,我得到了2.1.700作为最新版本。引用source

  

如果您使用mono 5.x,并且想要继续使用它,则需要更改.NET Core SDK版本。建议使用.NET Core SDK 2.1.5xx或2.2.1xx(例如2.1.505或2.2.108)。

我只需要uninstall .NET Core 2.1.700

sudo rm -rf /usr/local/share/dotnet/sdk/2.1.700

此后,我检查了dotnet --version,我正在使用的是哪个版本,2.1.505。如here所述,还可以使用其他一些选项。

本文链接:https://www.f2er.com/2907035.html

大家都在问