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

时间:2014-11-24 17:11:25

标签: c# .net-3.5 dllimport unsafe

我有一个Web应用程序,其中一个类定义了(部分):

public class DllFunction
{
    [DllImport("CARSDBI.dll", EntryPoint="CARSDBI_EnableLogging")]
    public static extern unsafe void CARSDBI_EnableLogging(int bSetting);
    ....
}

我得到“不安全的代码可能只在编译时带/不安全”错误。搜索此错误消息似乎显示了一个解决方案:在“项目属性”页面的“构建”选项卡中选中“允许不安全的代码”。

但是,当我右键单击项目并选择“属性”然后选择“构建”选项时,我没有看到此复选框,我看到的只有:

下拉列表“在运行启动页面之前”选择“构建网站”,选中“.NET Framework 3.5”的目标框架,并选中“构建网站作为解决方案的一部分”构建解决方案操作。

2 个答案:

答案 0 :(得分:0)

由于某些原因我无法添加评论,但此问题有您正在寻找的答案:how to add unsafe keyword in web based asp.net application c#

答案 1 :(得分:0)

在代码中使用unsafe关键字时会发生此错误。

<强>解决方案 您可以轻松解决此问题,请按照以下步骤操作。

右键点击您的项目 - &gt;然后去物业 选择构建选项,然后选中允许不安全代码

实际上我在下面的代码中面临同样的问题,所以我做了

struct Point
{
    public int x, y;
}

class MainClass12
{
    unsafe static void Main()
    {
      Point pt = new Point();
      Point* pp = &pt;
      pp->x = 123;
      pp->y = 456;
      Console.WriteLine("{0} {1}", pt.x, pt.y);
    }
}