我正在使用Visual Studio代码,当我尝试运行不安全的代码时,它会抛出以下错误“”消息“:只有在使用/ unsafe进行编译时才会出现不安全的代码”
和在visual studio中一样,它没有像project->属性这样的选项。
答案 0 :(得分:2)
在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 {}
答案 1 :(得分:0)
在.csproj
文件中,只需添加
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
到任何<PropertyGroup>
块。
无需向task.json
添加任何内容。
答案 2 :(得分:0)
在我的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'