【发布时间】:2018-06-01 05:36:54
【问题描述】:
我正在使用 Visual Studio 代码,当我尝试运行不安全代码时,它会抛出以下错误“消息”:不安全代码可能仅在使用 /unsafe 编译时出现”
和在 Visual Studio 中一样,它没有像 project->properties 这样的选项。
【问题讨论】:
标签: c# visual-studio-code unsafe
我正在使用 Visual Studio 代码,当我尝试运行不安全代码时,它会抛出以下错误“消息”:不安全代码可能仅在使用 /unsafe 编译时出现”
和在 Visual Studio 中一样,它没有像 project->properties 这样的选项。
【问题讨论】:
标签: c# visual-studio-code unsafe
在 Visual Studio 开发环境中设置此编译器选项 打开项目的“属性”页面。
单击“构建”属性页。
选中允许不安全代码复选框。
在 csproj 文件中添加此选项 打开项目的 .csproj 文件,并添加以下元素:
XML
<PropertyGroup>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
方法级别
unsafe static void FastCopy(byte[] src, byte[] dst, int count)
{
// Unsafe context: can use pointers here.
}
内联块
...
unsafe
{
// Unsafe context: can use pointers here.
}
班级等级
public unsafe class Blah {}
【讨论】:
在.csproj文件中,添加
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
到任何<PropertyGroup> 块。
无需向task.json 添加任何内容。
所有在我的 netcoreapp3.1 C# 项目中都不起作用
这有帮助(在 .vscode/tasks.json 中):
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"command": "dotnet",
"type": "process",
"args": [
"build",
"${workspaceFolder}/rest.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary",
"/unsafe"
],
"problemMatcher": "$msCompile"
},
适用于“dotnet build”命令,不适用于绿色启动按钮
如果从终端执行也可以:'dotnet build -p:unsafe=true'
【讨论】: