Silverlight デベロッパー センター > Silverlight フォーラム > Silverlight - インストールとセットアップ > MSBuildを使うと、WebサイトのClientBinにxapファイルがコピーされない
質問する質問する
 

質問MSBuildを使うと、WebサイトのClientBinにxapファイルがコピーされない

  • 2009年8月24日 9:56nakaken0629 ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     

    以下の現象で困っています。

    1. 空のソリューションファイルを作成する
    2. Webサイトを追加する
    3. Silverlightアプリケーションプロジェクトを追加する。その際、2.で追加したWebサイトにリンクをする
    4. ソリューションをビルドする。その結果、2.のClientBinフォルダに、3.のプロジェクトで作成されたxapファイルがコピーされる
    5. 4.で作成されたxapファイルを削除して、Visual Studioを終了する
    6. MSBuildコマンドを使って、1.のソリューションファイルをビルドする。2.のClientBinフォルダにxapファイルはコピーされない。

    つまり、Visual Studioを使った4.のビルド操作ではxapファイルがコピーされるのに、MSBuildを使った6.のビルド操作ではxapファイルがコピーされないという点で困っています。


    3.でWebサイトがSilverlightプロジェクトへリンクをしたときに、1.のソリューションファイルに以下の記述がされます。

    ProjOutputReferences = "{C0983495-B2DB-4795-8BA0-82C415DA35A2}|ClientBin|false;"
    この設定が、Visual Studioのビルドだと有効になるけれども、MSBuildでは機能しないのではと思われます。


    MSBuildを使って、Visual Studioと同じくSilverlightプロジェクトで生成されたxapファイルを、リンクされたWebサイトのClientBinにコピーする方法をご存知の方がいればお教えください。
    よろしくお願いいたします。

    環境:
    Windows XP SP3
    Visual Studio 2008 Professional Edition (90日間評価版) ※180日と書いていましたが、間違いでしたので修正します。
    Visual Studio 2008 SP1
    Visual Studio 2008 SP1 用 Microsoft Silverlight 2 Tools
    Expression Studio 2

すべての返信

  • 2009年8月25日 23:37nakaken0629 ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     
    WebサイトからWebアプリケーションに変更したところ、xapファイルがコピーされるようになりました。回避的な方法ですが、とりあえずやりたいことはできるようになりました。引き続き当初の問題が解決できる案もあれば、後学のために教えてください。

    ちなみに、WebアプリケーションをMSBuildでビルドしようとすると

    error MSB4019: インポートされたプロジェクト "C:\Program Files\MSBuild\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" が見つかりませんでした。<Import> 宣言のパスが正しいか、およびファイルがディスクに存在しているかどうかを確認してください。

    というエラーが発生します。このときは、Visual Studio 2008がインストールされているマシンからエラーメッセージで表示されているファイルをコピーするとうまく動くようになります。