如何在“visual studio代码”中运行不安全的代码?

时间:2018-06-01 05:36:55

标签: c# visual-studio-code unsafe

我正在使用Visual Studio代码,当我尝试运行不安全的代码时,它会抛出以下错误“”消息“:只有在使用/ unsafe进行编译时才会出现不安全的代码”

和在visual studio中一样,它没有像project->属性这样的选项。

3 个答案:

答案 0 :(得分:2)

unsafe (C# Compiler Options)

  
      
  1. 在Visual Studio开发环境中设置此编译器选项打开项目的“属性”页面。

         
        
    1. 单击“构建属性”页面。

    2.   
    3. 选中“允许不安全代码”复选框。

    4.   
  2.   
  3. 在csproj文件中添加此选项打开项目的.csproj文件,并添加以下元素:

  4.   

<强> 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'