2012-04-05 8 views
1

私はXMLファイルを読み込むために次のことをしているSilverlightアプリケーションを持っています。SilverlightでGetManifestStreamをロードしてxmlファイルをロードする

ビルドアクションを組み込みリソースに設定し、出力ディレクトリにコピーしました。私が使用しています
コードは次のとおりです。私は例外として受け取る

try 
      { 
       Xmlfile = XDocument.Load(Assembly.GetExecutingAssembly().GetManifestResourceStream("file.xml")); 
      } 
      catch(Exception ex) 
      { 
       MessageBox.Show(ex.Message); 
      } 

メッセージ:
値はnullにすることはできません。
パラメータ名:入力

EDIT

私は(WPFで)働く、以下を試してみましたが、Silverlightで問題を与える:

Assembly.GetExecutingAssembly().GetManifestResourceStream(Assembly.GetExecutingAssembly().GetName().Name + ".file.xml") 

エラー:

'System.Reflection.Assembly.GetName()' is inaccessible due to its protection level 
+0

あなたの質問タイトルとタグにはSilverlightが書かれていますが、あなたの質問ボディはWPFアプリケーションについて語ります。どちらですか? –

答えて

1

このように、あなたのアセンブリおよびそのサブフォルダの名前を先頭に追加するD:

string assemblyName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name; 
XDocument.Load(assemblyName + ".subfolder.file.xml"); 

は、時にはそれは、サブフォルダ(s)があるべきまさに明確ではありません。

string[] names = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceNames(); 
+0

'string [] names = System.Reflection.Assembly.GetExecutingAssembly()。GetManifestResourceNames();'ファイル 'Wpfapplication12.file.xml'を表示しています。しかし、あなたの答えで上記のコードを使用してファイルを取得しようとすると、私はまだ 'File not found error:..//bin/Debug/WpfApplication12.file.xmlが見つかりません' – user1240679

1

が、私はまだ答えを持っていないが、プリペンド「溶液」のSilverlight 5のアプリケーションは動作しません:そのような場合、単にこれを直接使用して名前を調べます。

Silverlight 5.0プロジェクトで提供されたコードをコンパイルすると、 'System.Reflection.Assembly.GetName()'にコンパイル時に保護レベルが設定されているためアクセスできません。レコードの

私はのために同様のエラーを取得:他の項目GetName()過負荷のために

System.Reflection.Assembly.GetName(); 
System.Reflection.Assembly.GetEntryAssembly() 
<someAssembly>.GetReferencedAssemblies() 

あなたが同じ保護エラーが発生します。

<someAssembly>.GetType(fullyQualifiedTypeName, false, true); 

「System.Reflection.Assembly.GetType(文字列、ブール値、ブール値)」私は保護レベルのエラーはSilverlightのアプリは部分的にしかされているという事実に由来疑い、その保護レベル

にアクセスできない信頼性の高いコードとリフレクションはその性質上、高い信頼性が要求されます。しかし、結局のところ、私は単にMicrosoftのコードウォールの背後にあるものについて推測しています。

MSDNの記事、またはC#リフレクションのどの部分がVisに関連しているかについての記事がありますか?Silverlight 5 Webアプリケーションに組み込むと無効/保護されるアセンブリですか?

関連する問題