0

これは間違った方法で行っている可能性がありますが、Silverlight アプリの Web サイト コンポーネントにいくつかの docx ファイルを追加しましたが、IIS 7.5 に公開するときにそれらのファイルを使用できません。私の開発環境ではうまく機能し、docx ファイルを参照できます。各 docx ファイルには「コンテンツ」のビルド アクションがあり、出力ディレクトリへのコピーは「常にコピー」に設定されています。ソリューションをビルドすると、ローカルの開発マシンの適切なフォルダーに docx ファイルが表示されます。IIS に発行すると、Web サーバー上の Web サイトを含むフォルダー構造に docx ファイルが見つかりません。docx ファイルを Web サーバーに手動でコピーしようとしましたが、アプリでまだそれらを認識できません。

IIS に公開するときに、docx ファイルをアプリと連携させるためのより良い方法はありますか?

4

1 に答える 1

1

パブリッシュ中に docx ファイルをコピーする方法がわかりませんでしたが、回避策を見つけました。ビルド アクションを埋め込みに変更すると、コードでファイルを参照できます。埋め込みに関する Microsoft のハウツーは次のとおりです。

http://support.microsoft.com/kb/319292

ファイルを参照するには、次を使用します。

// The Reporting.Web part is my namespace. Everything here is case sensitive!
string template = "Reporting.Web.PerfRevH1.docx";
Assembly loader = Assembly.GetExecutingAssembly();
var rawstream = loader.GetManifestResourceStream(template);
byte[] byteArray = rawstream.ReadToEnd();

ストリームをバイト配列に読み込むために、この SO の質問にある拡張メソッドを使用しました: How to convert an Stream into a byte[] in C#?

于 2013-06-24T17:26:15.530 に答える