2010-11-19 3 views
2

に見ていない:それはいくつかの時間のために働いたが、投げエラーを開始されましたAssembly.GetExecutingAssembly()私は</p> <p>C#を使用して埋め込まれたXMLファイル読んでいる正しいパス

var AssemblyRef = Assembly.GetExecutingAssembly(); 
TextReader reader = new StreamReader(AssemblyRef.GetManifestResourceStream("Text.xml")); 

を。私はそれが探しているパスをトレースし、デバッグまたはリリースのフォルダではなく、binフォルダのルートにdllを探しています。

これが公開されると、これは問題ありませんが、現地での開発では私の1つの機能を動作させることができません。

コンパイル時にデバッグに設定しました。どんな助けも素晴らしいだろう。

答えて

0

プロジェクト内のフォルダにリソースを移動し、すべてがあります良い。

TextReader reader = new StreamReader(Assembly.GetExecutingAssembly().AssemblyRef.GetManifestResourceStream("Text.xml")); 

1つのステートメントを呼び出すことで機能しました。なぜ私は分からない。

1

あなたが持っている:

  • 変更アセンブリ名OR
  • 変更された名前空間OR
  • は、私がこれにコールを変更し
+0

IOと埋め込みリソースとしてxmlファイルを読み込む方が高速です。 – Arnej65

+0

Assmebly!すでにメモリにロードされているためです。だから問題はどれですか?私のコメントは助けになりましたか? – Aliostad

+0

私はそれらをすべてチェックしました。それらのうちのどれも変更されていません。それは '公開された'ソースではなく、bin/debugを見ていないようなものです。しかし、ある時はそうだった。このコードベースは変更されていません。 – Arnej65

関連する問題

 関連する問題