VS2010の何らかの理由で、ファイルをアセンブリに埋め込むことができません。これらのファイルでは、ビルドアクションプロパティが必要に応じて埋め込みリソースに設定されていますが、アセンブリを実行すると、リソースが見つかりません。たとえば、次のテストコード:
string[] list = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceNames();
string msg = (list.Length > 0) ? "Full" : "Empty";
MessageBox.Show(msg);
GetManifestResourceNames()は常に空のリストを返すため、常に「空」と表示されます。
この問題は、ネットティアを使用するプロジェクトに影響します。この場合、ストアドプロシージャをDBに含めるのは不便なので、Procedures.xmlファイルから取得する必要があります。BTWは、ビルドアクション=埋め込みリソースの後に自動的に設定されます。クラスの生成、そしてもちろん、関数がそこからSQLスクリプトを取得しようとすると、プログラムは失敗します。
また、xmlとgifを埋め込もうとしたテストプロジェクトをいくつか作成しましたが、常に成功しませんでした。
更新:問題はC#のみにあるようです。テストプロジェクトをVB.Netで再現しましたが、ファイルは埋め込まれています。出力ウィンドウでは、C#の場合、コンパイラのコマンドラインに/ resourceオプション(埋め込まれるファイルの名前が後に続く必要があります)が含まれていませんが、VBの場合は表示されます。 。
確認する必要があるC#のグローバル設定または構成ファイルはありますか?(プロジェクトのビルドオプションには何も奇妙なことはありません)
誰かが何が起こっているのか、そしてこれを修正する方法についての考えを持っていますか?