为什么我会收到错误“只有在使用/ unsafe进行编译时才会出现不安全的代码”?

时间:2010-01-08 08:49:51

标签: c# visual-studio-2008 windows-ce unsafe

为什么会出现以下错误?

  

不安全代码只有在使用/ unsafe编译时才会出现?

我在C#和Visual Studio 2008中工作,在Windows CE上进行编程。

6 个答案:

答案 0 :(得分:243)

要使用不安全的代码块,必须使用/ unsafe开关编译项目。

打开项目的属性,转到Build标签,然后选中Allow unsafe code复选框。

答案 1 :(得分:122)

以下是截图:

Unsafe screenshot

答案 2 :(得分:4)

可能是因为您使用的是不安全的代码。

你在某处使用指针或非托管程序集做某事吗?

答案 3 :(得分:4)

在代码中搜索unsafe块或语句。这些仅在使用/unsafe编译时有效。

答案 4 :(得分:3)

要使用不安全的代码块,请打开项目的属性,转到 Build 选项卡,然后选中允许不安全的代码复选框,然后编译并运行。

class myclass
{
     public static void Main(string[] args)
     {
         unsafe
         {
             int iData = 10;
             int* pData = &iData;
             Console.WriteLine("Data is " + iData);
             Console.WriteLine("Address is " + (int)pData);
         }
     }
}

输出:

Data is 10
Address is 1831848

答案 5 :(得分:2)

对于使用Rider的每个人,您必须选择项目>右键单击>属性>配置然后选择Debug and Release并选中"允许不安全的代码"对于两者Screenshot