'CSC:错误 CS1902:/debug 的“portable”选项无效;必须是完整的或 pdbonly'

Cap*_*Ron 5 mono visual-studio-macros visual-studio-2017 visual-studio-mac

当尝试运行简单的 Web 表单时,我在 mac VS 7.4.3 上不断收到此错误。

CSC : error CS1902: Invalid option 'portable' for /debug; must be full or pdbonly
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下命令手动更新 .csproj 文件:

<DebugType>portable</DebugType>    
Run Code Online (Sandbox Code Playgroud)

但没有任何帮助;据我了解,它来自基于 Windows/Microsoft 的软件包;但不知道如何修复以在 mac 上运行。

/Library/Frameworks/Mono.framework/Versions/5.8.1/lib/mono/msbuild/15.0/bin/Microsoft.Common.CurrentVersion.targets(2057,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.Web.Entity". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
Run Code Online (Sandbox Code Playgroud)

我还注释掉了上面文件中“便携式”的所有实例..?

Pau*_*ulG 5

对于最近遇到这个问题的人来说——我刚刚在使用 jetbrains rider 2020.1 / VS 2019 时遇到了这个问题(我在 rider 中进行大部分开发,但会在 VS 中执行某些数据库任务和一些 Web 部署)。

问题是我的一个项目(我新添加到解决方案中的项目)出于某种原因有一些不正确的属性设置。我在 Jet Brains Rider 中解决了这个问题...但我也会分享如何在 VS 2019 中解决它。我的案例的解决方案是:

喷射大脑骑士 2020.1

  1. 右键单击 Rider 中的项目目录。选择底部的“属性”。
  2. 在左窗格中的“配置”下,选择“调试配置”(我当前将其设置为“调试|AnyCPU”)。
  3. 大约中间有一个名为“调试”的部分。您可能需要选中“调试符号”复选框,然后在下拉列表中选择适当的调试类型(可能是“完整”,除非您需要不同的调试类型)。 在此输入图像描述

视觉工作室 2019

  1. 右键单击项目文件夹并选择属性(位于底部)。属性界面应以经典的 Windows 米色打开。左侧将是一个选项面板 [应用程序、构建、构建事件等...]
  2. 从左侧面板中选择构建。
  3. 在配置窗口的最顶部,您应该看到两个下拉菜单:配置和平台。您需要选择配置下拉列表,然后选择“调试”。
  4. 接下来,在底部有一个“高级”按钮。选择此选项可打开高级构建设置对话框。
  5. 在“输出”部分下,有一行显示“调试信息”。将其从便携式更改为完整(或您需要的任何其他内容)。 在此输入图像描述

如果这不能解决您的问题,请重新阅读错误消息并尝试推断问题源自哪个项目/哪个配置,并尝试重新配置那里的构建选项。


ooX*_*1sh 1

我相信这与使用过时的编译器(又名:MSBuild.exe)进行编译有关。

对于我的设置,我有一个包含一行的 build.bat 文件:

"c:/Program Files (x86)/Microsoft Visual Studio/2017/Community/MSBuild/15.0/Bin/MSBuild.exe" "<path/to/project/file>.csproj" /t:Build /p:Configuration=Debug /p:Platform="AnyCPU"
Run Code Online (Sandbox Code Playgroud)

因此,调用 MSBuild.exe 并将基于 .csproj 的项目编译为 exe。

如果我不使用 Visual Studio 社区的编译器,而是尝试使用另一个编译器:

"c:/Program Files (x86)/MSBuild/14.0/Bin/MSBuild.exe" "<path/to/project/file>.csproj" /t:Build /p:Configuration=Debug /p:Platform="AnyCPU"
Run Code Online (Sandbox Code Playgroud)

Bam,我得到编译错误:

“/debug 的‘portable’选项无效;必须为 full 或 pdbonly”

所以我的结论是 MSBuild/15.0 使用新的调试选项,而 MSBuild/14.0 则不行。