Visual Studio 2008 Web 配置プロジェクトの使用 - aspnet_merge.exe を見つけるとエラーが発生する

StackOverflow https://stackoverflow.com/questions/28765

  •  09-06-2019
  •  | 
  •  

質問

最近、VS2005 Web デプロイメント プロジェクトを VS2008 にアップグレードしましたが、ビルド時に次のエラーが発生します。

The specified task executable location "bin\aspnet_merge.exe" is invalid.

エラーのソースは次のとおりです (Web デプロイメント ターゲット ファイルからのもの)。

<Target Name="AspNetMerge" Condition="'$(UseMerge)' == 'true'" DependsOnTargets="$(MergeDependsOn)">
    <AspNetMerge
      ExePath="$(FrameworkSDKDir)bin"
      ApplicationPath="$(TempBuildDir)"
      KeyFile="$(_FullKeyFile)"
      DelaySign="$(DelaySign)"
      Prefix="$(AssemblyPrefixName)"
      SingleAssemblyName="$(SingleAssemblyName)"
      Debug="$(DebugSymbols)"
      Nologo="$(NoLogo)"
      ContentAssemblyName="$(ContentAssemblyName)"
      ErrorStack="$(ErrorStack)"
      RemoveCompiledFiles="$(DeleteAppCodeCompiledFiles)"
      CopyAttributes="$(CopyAssemblyAttributes)"
      AssemblyInfo="$(AssemblyInfoDll)"
      MergeXmlDocs="$(MergeXmlDocs)"
      ErrorLogFile="$(MergeErrorLogFile)"
      />

この問題の解決策は何でしょうか?

注 - VS2008 で Web デプロイメント プロジェクトを最初から作成したところ、同じエラーが発生しました。

役に立ちましたか?

解決

どうやら、aspnet_merge.exe (および他のすべての SDK ツール) は Visual Studio 2008 にパッケージ化されていません。Visual Studio 2005 では、これらのツールがインストールの一部としてパッケージ化されています。

これを入手できる場所は、Windows 2008 SDK のインストールです (最新のダウンロード)。Windows 7/Windows 2008 R2 SDK: ここ

解決策は、Windows SDK をインストールし、IDE を起動する前に FrameworkSDKDir を環境変数として設定していることを確認することです。この変数を設定するバッチ コマンド:

SET FrameworkSDKDir="C:\Program Files\Microsoft SDKs\Windows\v6.1"

注記:SDK がデフォルトの場所にない場合は、SDK をインストールした場所を指すように変更する必要があります。

これで、VS2008 は aspnet_merge.exe の場所を認識できるようになります。

他のヒント

MSBuild を使用してサーバー上に Web アプリケーションを構築しようとしたときに、同じ問題が発生しました。SDK の「Web」バージョンをダウンロードしたのは、セットアップがわずか 500 KB で、どのコンポーネントをインストールするかを尋ねるプロンプトが表示され、選択したコンポーネントのみがダウンロードされてインストールされるためです。「」以外のチェックを外しました。.NET開発ツール」。次に、aspnet_merge.exe や sgen.exe など、約 250 MB 相当のものをダウンロードしてインストールします。

Win 7 および .NET 3.5 SP1 用のwinsdk_web.exe セットアップをダウンロードできます。 ここ.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top