Web部署发布在TFS上具有nuget依赖项的asp.net webapp
我正在尝试在TFS 2012上发布vs2013 asp.net webapp(解决方案中唯一的项目)。在任何developer box上,它都可以下载、分解和解析nuget包(使用nuget 2.8.1),并运行WebDeployPublish 但是,我无法在TFS盒上复制该功能。MSBuild未找到nuget包,也未运行Web Deploy Publish 1。Nuget 从csproj调用Web部署发布在TFS上具有nuget依赖项的asp.net webapp,tfs,msbuild,visual-studio-2013,nuget,webdeploy,Tfs,Msbuild,Visual Studio 2013,Nuget,Webdeploy,我正在尝试在TFS 2012上发布vs2013 asp.net webapp(解决方案中唯一的项目)。在任何developer box上,它都可以下载、分解和解析nuget包(使用nuget 2.8.1),并运行WebDeployPublish 但是,我无法在TFS盒上复制该功能。MSBuild未找到nuget包,也未运行Web Deploy Publish 1。Nuget 从csproj调用 <PropertyGroup> <PreBuildEvent>$(
<PropertyGroup>
<PreBuildEvent>$(SolutionDir)..\..\..\tools\nuget\nuget.exe restore</PreBuildEvent>
</PropertyGroup>
注意DeployOnBuild=False,它不应该被参数覆盖吗
配置:
显影盒
Visual studio 2013更新2,webdeploy 3.6(最新版本),Web Deploy发布基于.pubxml发布配置文件
vs项目文件摘录(如果相关):
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">11.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<PropertyGroup>
<PreBuildEvent>$(SolutionDir)..\..\..\tools\nuget\nuget.exe restore</PreBuildEvent>
</PropertyGroup>
TFS 2012方框
已安装WebDeploy 3.6(最新版本)
在我的方法中可能存在配置和概念错误的组合,非常感谢任何输入 您可能需要在生成服务器上启用包还原。确保您有:
- 已安装Visual Studio 2013.2(无许可证要求)
我通过Web和WebApplications目录从vs2013 devs框上的\v12.0复制到TFS 2012上的\v11.0好的,谢谢,我在服务器上启用了nuget package restore环境变量,如中所述,now nuget works。不必按照建议安装vs2013—这样做是否会让生活更轻松?(有人可能会说它不必要地膨胀了服务器。)
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">11.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<PropertyGroup>
<PreBuildEvent>$(SolutionDir)..\..\..\tools\nuget\nuget.exe restore</PreBuildEvent>
</PropertyGroup>
/p:DeployOnBuild=True /p:PublishProfile=dev01 /p:AllowUntrustedCertificate=True /p:UserName=myDomainUser /p:Password=myPassword