代码之家  ›  专栏  ›  技术社区  ›  Adam

使用Visual Studio 2008 Web部署项目-查找aspnet_merge.exe时出错

  •  4
  • Adam  · 技术社区  · 17 年前

    我最近将一个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部署项目,得到了相同的错误。

    2 回复  |  直到 15 年前
        1
  •  8
  •   Adam    15 年前

    显然,aspnet_merge.exe(以及所有其他SDK工具)没有打包到Visual Studio 2008中。Visual Studio 2005将这些工具打包作为安装的一部分。

    安装Windows 2008 SDK的地方( latest download ) Windows 7/Windows 2008 R2软件开发工具包: here

    解决方案是安装Windows SDK,并确保在启动IDE之前将frameworksdkdir设置为环境变量。用于设置此变量的批处理命令:

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

    注意:如果不在默认位置,则需要修改以指向安装SDK的位置。

    现在,VS2008将知道在哪里可以找到aspnet_merge.exe。

        2
  •  3
  •   BigJoe714    15 年前

    我在尝试使用msbuild在服务器上构建Web应用程序时遇到了同样的问题。我下载了sdk的“web”版本,因为安装程序只有500kb,它会提示您要安装哪些组件,并且只下载和安装您选择的组件。我取消了所有的检查,除了 .NET开发工具 “。然后它下载并安装了价值约250MB的东西,包括aspnet_merge.exe和sgen.exe。

    您可以下载Win7和.NET 3.5 SP1的WinSDK_web.exe安装程序 here .

    推荐文章