2016-09-28 24 views
1

私は2つのことをやろうとしています。テキストファイルを私のプロジェクトに埋め込んで、それを利用して変更できるようにしたいのですが、同時に私はプロジェクトをユーザーに送信するときにパッケージ化する必要はありません(IEはexeファイルに含まれています)。リソースにテキストファイルを埋め込むC#

私は周りを見てきましたが、すでに複数の質問がありましたが、私はちょうど何かが動作するように見える。これまでに私が取った手順は次のとおりです。

は、私はその後、試す "コンテンツ" と出力ディレクトリに

enter image description here

を "コピーしない" ために私の "Resourcesフォルダ"

enter image description here

ビルドアクションにテキストファイルを追加しました私のコード内のファイルにアクセスする。

if (File.Exists(Properties.Resources.company_map_template)) 
{ 
    MessageBox.Show("Test"); 
    var objReader = new StreamReader(Properties.Resources.company_map_template); 
    string line = ""; 
    line = objReader.ReadToEnd(); 
    objReader.Close(); 
    line = line.Replace("[latlong]", latitude + ", " + longitude); 
    mapWebBrowser.NavigateToString(line); 
} 

メッセージボックスは、ファイルを見つけることができないし、どこかに何とか私が何か間違ったことをやったことを意味し、私にはその表示されません。プロジェクトにファイルを追加するにはどうすればいいですか?exeでコードにアクセスできる間に配布する必要はありません。

+0

埋め込みファイルを持っているときに問題はないと思うので、 'File.Exists'を使ってその存在を確認することはできません。埋め込みファイルを読みたい場合は、[これをチェックしてください](http://stackoverflow.com/questions/3314140/how-to-read-embedded-resource-text-file)。基本的にはEXEファイルを変更するので、埋め込みファイルに書き込むことはできません。このようなものは、通常、アプリケーションのAPP DATAフォルダを使用して処理する必要があります。 – musefan

+0

@musefanあなたの提案をお寄せいただき、ありがとうございます。 – CBreeze

答えて

0

私は、次の使用します。

BuildActionNone(必要ない)

と(開いたResources.resxにSolutionExplorerからDragAndDropを使用して)ファイルへ

アクセス下Resources.resxにファイルを追加しますあなたのテキスト:

using YOURNAMESPACE.Configuration.Properties; 

string fileContent = Resources.company_map_template; 

これで完了です。 StreamReader

関連する問題