我似乎无法让msbuild构建不安全代码块。

11

msbuild似乎不允许我构建unsafe代码块,尽管我的.csproj文件中指定了:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    ...
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>

我的构建命令是:
msbuild myProject.sln /p:Configuration=Release /p:Platform="Any CPU" /t:Clean,Build

您没有正确配置项目,这是一个常见的错误。请使用 Project > Properties > Build 选项卡进行配置。请注意属性页面顶部的组合框。将标记为“配置”的其中一个更改为“Release”。现在选择该选项即可。 - Hans Passant
2个回答

13

我在MSBuild命令中添加了/p:AllowUnsafeBlocks=true,如下:

MSBuild some-project.csproj /p:AllowUnsafeBlocks=true

如果您在VSTS中,只需要在参数中包含/p:AllowUnsafeBlocks=true即可。

对我有效。


10
您展示了该属性在“Debug”配置中已设置。有一种可能是在“Release”配置中它丢失了。
另外,您在命令行上指定了平台为“Any CPU”(带空格),而构建文件需要“AnyCPU”。这也可能导致未被捕获。

顺便提一下,确保这一切都正确并没有帮助到我。以下的答案有帮助(在MSBuild命令中添加/p:AllowUnsafe....)。 - BRebey
@BRebey:这仍然表明您的项目配置错误。 - Joey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接