asp.net - Silverlight XAPをビルド時にclientbinにコピーする方法



asp.net-mvc visual-studio (3)

私はSilverlightを使い始めるばかりで、最近Silverlightプロジェクトを既存のソリューションに追加しました。 この特定のシナリオでは、私のソリューションには、Visual Studioが親切にSilverlightアプリケーションを統合するために提供した、既存のASP.NET Webサイト(アプリケーションではない)が含まれていました。

だからすべてがうまくいって、Silverlight XAPがWebサイトのClientBinディレクトリにコピーされています。 今では、古い(MVC以外の)Webサイトを最終的に置き換える新しいASP.NET MVC Webアプリケーションを開始することに決めました。 しかし、私の人生では、Visual Studioがビルド時に自動的にWebサイトのClientBinに表示されるように変更したので、MVCサイトで再現できるようにVisual Studioを修正しました。

だから、私の質問は本質的に、Visual Studioに新しく追加されたASP.NET MVC WebアプリケーションにSilverlightアプリケーションのXAPをオートコピーするための手作業の手順は何ですか?


ClientBinへのXAPのコピーはMSBuildタスクです。 標準のASP.NETプロジェクトテンプレートを使用している場合は、Silverlightリンクのセクションにあります。

それ以外の場合は、MSBuildタスクの名前を把握してASP.NET MVCプロジェクトに追加することができます。 より簡単な解決策は、おそらくAPS.NETプロジェクトでカスタムポストビルドイベントを使用してファイルをコピーすることです。

XAPファイルをSilverlightプロジェクトのBINディレクトリからWebアプリケーションのClientBinにコピーするのではなく、 "魔法"はありません。 それはClientBinディレクトリ内に存在する必要はありません - あなたは任意のディレクトリまたはサイトのルートにコピーすることができます。

アップデート:最近リリースされたASP.NET MVCのBeta 1にはSilverlightプロジェクトのサポートが含まれているため、通常のASP.NETアプリケーションと同じようにASP.NET MVCアプリケーションにリンクすることができます。


Silverlightアプリケーションのプロパティページに移動し、[ビルドイベント]タブを選択し、[ビルド後イベント]コマンドラインに次の行を入力します。

copy $(TargetDir)*.xap $(SolutionDir)<youar web solution folder name such as app.web>\ClientBin

今度は、成功したビルドごとにxapファイルが自動的にコピーされます。


これは若干古いポストですので、おそらく変更されています...私のVisual StudioのWebプロジェクトの下には「Silverlightアプリケーション」というタブがあります。 ソリューションにインポートする既存のプロジェクト用の追加ボタンがあります。追加ボタンを使用して、ClientBinや他の場所にxapを配置することができます。 このタブを使用するためにSDKをインストールする必要があるかどうかは不明です。 私はあなたがする必要がありますので、それをインストールしている。 私はMVCをしないので、MVCプロジェクトでは違うかもしれませんが、わかりません。





silverlight-2.0