4

リソース ファイルのアプリケーションにテキスト ファイルを埋め込もうとしました。私はしばらく前にこの質問の投稿をフォローしていました。

.NET アセンブリにテキスト ファイルを埋め込む方法は?

Text ファイルを Resources.resx に追加しましたが、コードで呼び出す方法がわかりません。ご覧のとおり、OP には同じ問題がありMy.Resources.TEXTFILENAMEResources.TEXTFILENAME. 残念ながら、私のアプリケーションではどちらも認識されず、using を追加しようとしましたが、VS は何も提案していません。単独で書くResourcesと、ResourceDictionary と FrameworkElement.Resources として認識されますが、テキスト ファイルは認識されません...何かアイデアはありますか?

4

4 に答える 4

6

テキストファイルをプロジェクトに追加し、それをコンテンツ(Build Action= Content)およびCopy always出力として定義します。

プロジェクトのインストーラー(標準インストーラー)がある場合は、ファイルシステムをセットアップして、インストーラーがテキストファイルを自動的にコピーするようにすることができます。

アプリケーションが実行されているフォルダーを取得するには、これを使用します:

Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.Location);

新しいインストーラー(ClicOnce)を使用している場合、私はあなたを助けることはできませんが、幸運を祈ります:=)

于 2012-06-25T16:33:36.033 に答える
2

.ResX リソースを使用することは、テキスト ファイルをアセンブリに埋め込むこととは少し異なります。後者の場合、そのプロパティを確認してEmbeddedResourceにします(つまり、ResX ファイルに何も追加する必要はなく、テキスト ファイルを VS プロジェクトにドロップするだけです)。それを取得するには、これを使用します。

Assembly.GetExecutingAssembly().GetManifestResourceStream(name);

nameパラメーターの正しい値を取得するには、GetManifestResourceNames()を呼び出して結果を調べます。

于 2012-06-25T08:40:59.503 に答える