2

ビルド ツールのアセンブリ リファレンスを更新して、最新バージョン (v12) の microsoft.build、microsoft.build.engine および microsoft.build.framework を使用しました。しかし、BuildManager を使用してプロジェクトをコンパイルしている間 (私はコンパイルに Rebuild オプションを使用します)、Target で失敗します: CleanWebsitesPackageCore エラーで MSB4127: " The "CheckPathAttributes" task could not be instantiated from the assembly "C:\Program Files (x86 )\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.Tasks.dll". にインストールされている Microsoft.Build.Framework アセンブリと同じバージョンの Microsoft.Build.Framework アセンブリを使用して、タスク アセンブリがビルドされていることを確認してください。ホスト アプリケーションに Microsoft.Build.Framework.Unable to cast object of type 'Microsoft.Web.Publishing.Tasks.

注意すべき点は、コマンド プロンプトから MSBuild.exe を呼び出してプロジェクトを直接コンパイルしようとすると、正常にコンパイルされることです。ログを見ると、「クリーン」部分でターゲットの「CleanWebsitesPackageCore」が呼び出されていないことがわかりました。コマンド プロンプトで直接 msbuild.exe を呼び出しているときではなく、buildmanager を使用しているときにターゲットが呼び出されるのはなぜでしょうか。

なぜこれがこのように起こっているのか、誰にでもわかります。前もって感謝します。

4

1 に答える 1

4

参照ソリューション: http://blogs.microsoft.co.il/idof/2008/11/24/what-does-entity-framework-has-to-do-with-msbuild/

App.config は、このdependentAssembly を追加します

  <runtime>
   <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
     <dependentAssembly>
       <assemblyIdentity name="Microsoft.Build.Framework"          publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
       <bindingRedirect oldVersion="0.0.0.0-99.9.9.9" newVersion="12.0.0.0"/>
    </dependentAssembly>
    </assemblyBinding>
  </runtime>
于 2016-08-25T13:43:58.423 に答える