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

时间:2018-04-18 21:20:49

标签: mono visual-studio-2017 visual-studio-mac visual-studio-macros

在尝试运行简单的Web表单时,我在mac VS 7.4.3上连续出现此错误。

CSC : error CS1902: Invalid option 'portable' for /debug; must be full or pdbonly

我尝试用以下方法手动更新.csproj文件:

<DebugType>portable</DebugType>    

但没有任何帮助;我理解它来自于基于窗口的/基于微软的软件包;但不知道如何修复与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.

我还评论了所有便携式&#39;在上面的文件..?

4 个答案:

答案 0 :(得分:2)

对于最近遇到这个问题的任何人-我只是在使用jetbrains rider 2020.1 / VS 2019时就遇到了这个问题(我在rider中从事大多数开发工作,但将在VS中执行某些数据库任务和某些Web部署)。

问题是我的一个项目(我新添加到解决方案中的一个项目)由于某种原因而具有一些不正确的属性设置。我在Jet Brains Rider中解决了这个问题...但是我也会分享在VS 2019中解决问题的方法。在我的情况下,解决方案是:

JET BRAINS RIDER 2020.1

  1. 右键单击Rider中的项目目录。选择底部的“属性”。
  2. 在左窗格中的“配置”下,选择“调试配置”(我的当前设置为“调试| AnyCPU”)。
  3. 大约一半的地方有一个名为“调试”的部分。您可能需要选中“调试符号”复选框,然后在下拉列表中选择适当的“调试类型”(可能为“完整”,除非您需要其他选项)。 enter image description here

Visual Studio 2019

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

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

答案 1 :(得分: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"

因此,将调用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"

Bam,出现编译错误:

“ / debug的选项'portable'无效;必须为完整或pdbonly”

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

答案 2 :(得分:0)

  1. 选择项目
  2. 右键单击
  3. 转到属性
  4. 选择构建并点击高级
  5. 调试信息 - 选择“完整” enter image description here

答案 3 :(得分:0)

写这个是因为我还没有看到像我这样的答案,希望有人会觉得这有帮助:

在尝试查找 ApplicationUser 类的引用时安装 Fluent.Infrastructure(版本“2.0.0-beta-01”)时遇到相同的错误 - 在我将其从项目并遵循此解决方案:https://stackoverflow.com/a/34178606