【问题标题】:How to run unsafe code in "visual studio code"?如何在“Visual Studio 代码”中运行不安全的代码?
【发布时间】:2018-06-01 05:36:54
【问题描述】:

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

和在 Visual Studio 中一样,它没有像 project->properties 这样的选项。

【问题讨论】:

    标签: c# visual-studio-code unsafe


    【解决方案1】:

    unsafe (C# Compiler Options)

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

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

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

    2. 在 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 {}
    

    【讨论】:

    【解决方案2】:

    .csproj文件中,添加

    &lt;AllowUnsafeBlocks&gt;true&lt;/AllowUnsafeBlocks&gt;

    到任何&lt;PropertyGroup&gt; 块。

    无需task.json 添加任何内容。

    【解决方案3】:

    所有在我的 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'

    【讨论】:

      猜你喜欢
      • 2020-03-28
      • 2018-09-21
      • 2019-01-25
      • 1970-01-01
      • 2022-06-17
      • 2022-09-23
      • 1970-01-01
      • 2016-01-21
      • 1970-01-01
      相关资源
      最近更新 更多