1

昨日、VS2010 Web パブリッシングの更新プログラムをインストールしましたが、WiX セットアップ プロジェクトを読み込もうとすると (ソリューション エクスプローラーですべてアンロードと表示されます)、次のエラーが表示されます。

インポートされたプロジェクト「PROJECTNAME.wpp.targets」が見つかりませんでした。宣言内のパスが正しいこと、およびファイルがディスク上に存在することを確認してください。C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.5\Web\Microsoft.Web.Publishing.targets

PROJECTNAME は、.wixproj 拡張子なしのセットアップ wixproj ファイルへのパスです。プロジェクト ファイルを確認しましたが、wpp.targets ファイルへの参照はどこにもありません。その場所に空のターゲット ファイルを作成してみることにしたので、これだけを含むファイルを追加しました。

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

しかし、まったく同じエラーが発生しました-ファイルが存在するにもかかわらず、例外が見つかりません!

次に、Microsoft.Web.Publishing.targets ファイルを調べて、「.wpp.targets」テキストを探したところ、次のようになりました。

<PropertyGroup Condition="'$(EnableWebPublishProfileFile)'=='true' And 
    '$(WebPublishProfileFile)' != '' And Exists($(WebPublishProfileFile)) ">
  <WebPublishProfileCustomizeTargetFile Condition="'$(WebPublishProfileCustomizeTargetFile)'==''">
    $([System.IO.Path]::ChangeExtension($(WebPublishProfileFile), '.wpp.targets'))
  </WebPublishProfileCustomizeTargetFile>
  ...

したがって、PROJECTNAME.wpp.targets のファイル名を設定しているように見えますが、EnableWebPublishProfileFile プロパティが true に設定されている場合のみです。これを wixproj ファイルのメイン プロパティ グループに追加しました。

<EnableWebPublishProfileFile>False</EnableWebPublishProfileFile>

繰り返しますが、エラーにはまったく違いはありませんでした。私は今ここでアイデアを使い果たしています!

さらにアップデート

私は空のプロジェクトでこれをレポしようとしましたが (これまでのところ成功していません)、いじり回してエラーを Microsoft.Web.Publishing.targets ファイルの次の行 (186) に絞り込みました。

<Import Project="$(WebPublishPipelineCustomizeTargetFile)" 
Condition="'$(WebPublishPipelineCustomizeTargetFile)' != ''"/>

これは、ファイルの先頭に設定されています。

<WebPublishPipelineCustomizeTargetFile
    Condition="'$(WebPublishPipelineCustomizeTargetFile)'==''">
  $(WebPublishPipelineProjectDirectory)\*.wpp.targets
</WebPublishPipelineCustomizeTargetFile>

これがどのように PROJECTNAME.wpp.targets に変更されるのかわかりませんか?

プロジェクトファイルでこれをオーバーライドしようとしましたが、やはり違いはありません。

次に、ターゲット ファイルの行に Exists() 条件を追加しました。現在、一部のプロジェクトは機能しており、他のプロジェクトは機能しておらず、(ビルド時に) エラーで失敗しています。

「DisableEscapeMSBuildVariable」パラメーターは、「ImportParametersFile」タスクではサポートされていません。パラメーターがタスクに存在し、それが設定可能なパブリック インスタンス プロパティであることを確認してください。

私の旅は続く…

4

1 に答える 1

2

標準の Web プロジェクトを開こうとすると、同じ問題が発生しました。

proj ファイルは、v10.0 ターゲットの次のインポートを参照していましたが、v10.5 ターゲットを参照した質問でインポート エラーをスローしました。

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets" />

ハードコードされたパスを参照したときも同じでした-それでもv10.5エラーが発生しました

私の解決策は、次の場所にあるそのバージョンを単純にバックアップして削除することでした。

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\10.5

他のどのプログラムやプロジェクトがこのバージョンを必要としているか、またはインポート パスに従わなかった理由はよくわかりませんが、このプロジェクトを開いて正しいバージョンに戻っているように見えます。

于 2013-07-17T08:44:53.753 に答える