构建.NET Core MVC App时出现以下错误。
Projects / MVCCoreTest / MVCCoreTest / CSC:错误CS1902:无效的调试选项portable'. Valid options are
完整'或'pdbonly'(CS1902)(MVCCoreTest)
这是什么意思,我在哪里设置这些有效选项?
答案 0 :(得分:7)
我应该澄清一下,如果你使用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'))" />
希望这有帮助,
问候。
答案 1 :(得分:1)
右键点击项目,转到项目选项....
转到“编译器”
将“调试信息”更改为“完整”或“便携式”。它应该解决这个问题。
如果这有帮助,请告诉我。
答案 2 :(得分:1)
您可以将mono更新为5.0,这是使用MSBuild的单声道4.8.0中的错误。
答案 3 :(得分:0)
您还可以将包参考从Microsoft.Net.Compilers.1.0.0更新为 Microsoft.Net.Compilers.2.10.0 ,对我有用。
答案 4 :(得分:0)
更新NuGet packages
为我解决了该错误。从菜单栏中选择:
Project > Update NuGet Packages
完成后,您已经准备就绪
答案 5 :(得分:0)
我也面临着同样的问题。我尝试将Debug Information(调试信息)设置为None(无信息)和其他博客中其他人建议的其他选项,但是没有运气。
最后对我有用的是如下更新NuGet软件包:
项目>更新NuGet程序包
整个更新过程将需要15-20分钟,具体取决于您的互联网和MacBook的速度,并会提示几个屏幕询问您的更新授权,但最终将一劳永逸地解决您的问题。