web-dev-qa-db-ja.com

「/ unsafeでコンパイルした場合にのみ安全でないコードが表示される」というエラーが表示されるのはなぜですか?

次のエラーが表示されるのはなぜですか?

安全でないコードは、/ unsafeでコンパイルする場合にのみ表示されますか?

私はWindows#CEでプログラミングするためにC#とVisual Studio 2008で働いています。

130
Gold

安全でないコードブロックを使用するには、/ unsafeスイッチをオンにしてプロジェクトをコンパイルする必要があります。

プロジェクトのプロパティを開き、Buildタブに移動して、Allow unsafe codeチェックボックスをオンにします。

251
Guffa

これがスクリーンショットです:

Unsafe screenshot

ََََََََ

123
Manoj Attal

おそらく安全でないコードを使用しているためです。

どこかでポインターやアンマネージアセンブリを使用していますか?

4
Gerrie Schenck

コードでunsafeブロックまたはステートメントを検索します。これらは/unsafeでコンパイルされた場合のみ有効です。

4
Richard

安全でないコードブロックを使用するには、プロジェクトのプロパティを開き、ビルドタブに移動し、安全でないコードを許可チェックボックスをオンにして、コンパイルして実行します。

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を使用するすべての人は、プロジェクト>右クリック>プロパティ>構成を選択し、デバッグとリリースを選択して、bothの「安全でないコードを許可」を選択する必要があります. Screenshot

2
Tobias Brohl