我在构建.NET Core MVC App时遇到以下错误。
Projects / MVCCoreTest / MVCCoreTest / CSC:错误CS1902:无效的调试选项portable'. Valid options are
full'或`pdbonly'(CS1902)(MVCCoreTest)
这意味着什么,我在哪里设置这些有效选项?
我应该澄清,如果你使用VS for Mac创建项目,你应该没有这个问题,但如果你克隆它并在Windows中创建,那么你可能会遇到这个问题。
我通过删除与Roslyn编译器相关的Nuget包解决了错误:
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.0" targetFramework="net452" />
<package id="Microsoft.Net.Compilers" version="1.0.0" targetFramework="net452" developmentDependency="true" />
所以Mono编译器将会发生。这就是csc编译器在mcs上流行的原因
另外不要忘记从csproj中删除行:
<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
希望这可以帮助,
问候。
如果这有帮助,请告诉我。
您可以将mono更新为5.0,这是使用MSBuild的mono 4.8.0中的错误。
您还可以将Microsoft.Net.Compilers.1.0.0中的程序包引用更新为适用于我的Microsoft.Net.Compilers.2.10.0。
更新NuGet packages
为我修复错误。从菜单栏中选择:
Project > Update NuGet Packages
完成后,你们都准备好了