为什么我会得到以下错误?
只有在使用/不安全编译时才可能出现不安全代码”?
我使用 C # 和 VisualStudio2008在 WindowsCE 上编程。
可能是因为你使用了不安全的代码。
您是否正在使用指针或非托管程序集执行某些操作?
在代码中搜索 unsafe块或语句。这些只有在使用 /unsafe编译时才有效。
unsafe
/unsafe
要使用不安全的代码块,必须在打开/不安全开关的情况下编译项目。
打开项目的属性,转到 Build选项卡并选中 Allow unsafe code复选框。
Build
Allow unsafe code
若要使用不安全的代码块,请打开项目的属性,转到 建造选项卡并选中 允许不安全的代码复选框,然后编译并运行。
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
下面是一个截图:
ََََََََ
对于每个使用 Rider 的人,你必须选择你的项目 > 右键单击 > 属性 > 配置,然后选择调试和发布,并为 都有选择“允许不安全代码”。
也可以在. csproj 文件中直接向 PropertyGroup添加 AllowUnsafeBlocks标记
PropertyGroup
AllowUnsafeBlocks
<PropertyGroup> <TargetFrameworks>netcoreapp3.1; net472</TargetFrameworks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> </PropertyGroup>