18

Visual Studio 2012 の Update 2 をインストールしたところ、新しい [発行] ダイアログが導入されました。以前と同じようにしようとしています (公開する前に Web サイトをプリコンパイルします)。

"Can't find the valid AspnetMergePath"

ファイル Microsoft.Web.Publishing.AspNetCompileMerge.targets からスローされます。aspnet_merge.exe というファイルが私のコンピューターの複数の場所に存在することを確認しましたが、

$(GetAspNetMergePath) 

何らかの理由で空の文字列に評価されています。いくつかの構成設定が欠けているに違いありませんが、これまでそれらをいじったことがないので、なぜこれが突然始まるのか混乱しています。

誰でもこれを解決する方法についてアドバイスを提供できますか? このエラーに対して標準の Google 検索を実行しましたが、適切な解決策にたどり着くことができませんでした。

4

5 に答える 5

17

今日、msbuild コマンド ラインを使用してビルド中に同じ問題が発生しました。
修正は、C:\Windows\Microsoft.NET\Framework\v4.0.30319 からではなく、C:\Program Files (x86)\MSBuild\12.0\Bin で msbuild.exe を使用することです。

この問題は、新しい msbuild がVisual Studio 2013 の一部になり、.Net フレームワークではなくなったために発生します。

于 2014-05-05T06:47:52.057 に答える
6

これは、ターゲット ファイルを変更する必要のないソリューションです。http://connect.microsoft.com/VisualStudio/feedback/details/786492/publish-cant-find-the-valid-aspnetmergepathの回避策では、追加のプロパティを msbuild に渡すことを提案しています。これを使用して動作させることができました:

msbuild website.publishproj /p:DeployOnBuild=true /p:PublishProfile=Release /p:VisualStudioVersion=12.0 /p:AspnetMergePath="C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5 .1 ツール\"

ここで重要なのはAspnetMergePathプロパティです。Windows SDK が別の場所にインストールされている場合は、プロパティを変更する必要がある場合があります。回避策のプロパティを含めるGetAspNetMergePathと失敗しますが、SDK のバージョンによっては必要になる場合があります。

于 2014-01-08T19:08:11.853 に答える
2

私はVS 2012で同じ問題を抱えていましたが、私がしたことは次のことだけでした:

[発行] をクリックし、[Web の発行] で [設定] タブに移動し、[発行時にプリコンパイル] のチェックを外します。

于 2016-06-10T11:36:53.580 に答える