我有一个Web应用程序,其中一个类定义了(部分):
public class DllFunction
{
[DllImport("CARSDBI.dll", EntryPoint="CARSDBI_EnableLogging")]
public static extern unsafe void CARSDBI_EnableLogging(int bSetting);
....
}
我得到“不安全的代码可能只在编译时带/不安全”错误。搜索此错误消息似乎显示了一个解决方案:在“项目属性”页面的“构建”选项卡中选中“允许不安全的代码”。
但是,当我右键单击项目并选择“属性”然后选择“构建”选项时,我没有看到此复选框,我看到的只有:
下拉列表“在运行启动页面之前”选择“构建网站”,选中“.NET Framework 3.5”的目标框架,并选中“构建网站作为解决方案的一部分”构建解决方案操作。
答案 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);
}
}