首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网络部署项目& TeamCity

网络部署项目& TeamCity
EN

Stack Overflow用户
提问于 2011-07-07 13:29:55
回答 3查看 3.2K关注 0票数 7

我正试图构建一个web部署项目2010年的解决方案。我已经在构建服务器上安装了Windows和WebDeploymentProject2010RTW,并复制了缺少的用于.target的MSBuild文件。

当试图构建项目时,它会发出以下错误

程序Files\MSBuild\Microsoft\WebDeployment\v10.0\Microsoft.WebDeployment.targets(1589,9):错误MSB6004:指定的任务可执行位置“C:\

MSB6004无效。

不幸的是,在Google周围搜索关于这个错误的结果并不能显示出任何有价值的东西。任何帮助,以使TeamCity成功构建web部署项目将不胜感激。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-07 08:54:57

更合适的解决方案应该是在TargetFrameworkSDKDirectoryBin文件中设置.wdproj属性。例如:

代码语言:javascript
复制
<TargetFrameworkSDKDirectoryBin>C:\Programmi\Microsoft SDKs\Windows\v7.1\Bin\</TargetFrameworkSDKDirectoryBin>

此设置在.dtproj文件中使用,覆盖在Microsoft.WebDeployment.targets中定义的默认设置,如下所示

代码语言:javascript
复制
<Target
  Name="GetAspNetMergePath"
  DependsOnTargets="$(GetAspNetMergePathDependsOn)">
  <PropertyGroup>
      <AspnetMergeName>aspnet_merge.exe</AspnetMergeName>
      <AspnetMergePath>$(MSBuildExtensionsPath)\Microsoft\WebDeployment\v10.0</AspnetMergePath>
      <AspnetMergePath Condition="Exists('$(TargetFrameworkSDKDirectoryBin)$(AspnetMergeName)')">$(TargetFrameworkSDKDirectoryBin)</AspnetMergePath>
  </PropertyGroup>
</Target>

第二个AspnetMergePath意味着,如果在其他地方存在指向现有aspnet_merge.exe文件的$(TargetFrameworkSDKDirectoryBin),则将使用该文件。

票数 3
EN

Stack Overflow用户

发布于 2011-07-08 09:56:10

好的,您的aspnet_merge被指向了错误的位置--在我的构建脚本中,我的结果如下:

代码语言:javascript
复制
<ItemGroup>
    <ASPNETPath Include="F:\Program Files\Microsoft SDKs\Windows\v6.0A\bin" />
</ItemGroup>

<Target Name="ASPNET Merge">
    <AspNetMerge
      ExePath="@(ASPNETPath)"
      ApplicationPath=".\Release"
      SingleAssemblyName="CoreMicrosite"
      />
</Target>

试试看

票数 4
EN

Stack Overflow用户

发布于 2012-04-18 13:22:16

更改文件"Microsoft.WebDeployment.targets“中第1562行的以下节点:

代码语言:javascript
复制
    <Target
        Name="GetAspNetMergePath"
        DependsOnTargets="$(GetAspNetMergePathDependsOn)">
        <PropertyGroup>
            <AspnetMergeName>aspnet_merge.exe</AspnetMergeName>
            <!-- OLD
            <AspnetMergePath>$(MSBuildExtensionsPath)\Microsoft\WebDeployment\v10.0</AspnetMergePath>
            <AspnetMergePath Condition="Exists('$(TargetFrameworkSDKDirectoryBin)$(AspnetMergeName)')">$(TargetFrameworkSDKDirectoryBin)</AspnetMergePath>
            -->
            <AspnetMergePath>C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\</AspnetMergePath>
            <AspnetMergePath Condition=" '$(TargetFrameworkVersion)' == 'v4.0' ">C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\</AspnetMergePath>
        </PropertyGroup>
    </Target>

我在适当的Microsoft页面上添加了一个变通的注释:

http://connect.microsoft.com/VisualStudio/feedback/details/706047/visual-studio-2010-web-deployment

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6611370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档