IPS*_*SUS 1 asp.net msbuild visual-studio-2010 microsoft-web-deploy visual-studio-2013
我的主要目标是缩小的JS脚本添加到我的ASP.NET Web应用程序的部署包使用cmd.
此外,我的问题似乎与这个主题重复,甚至这个和这个,情况并非如此.我的问题是我试过挂钩CopyAllFilesToSingleFolderForPackageDependsOn,CopyAllFilesToSingleFolderForMsdeployDependsOn甚至PipelineCollectFilesPhaseDependsOn没有运气.我<Message Text="Inside of CustomCollectFiles" Importance="high"/>在我的习惯Target中使用了Sayed Ibrahim Hashimi 在他的回答中提出并/v:diag转换msbuild.exe来验证这个事实.我不知道如何修复它:尝试将上述问题中不同修改的相应XML片段.csproj直接放入文件中,并将其放入.wpp.targets用于自定义打包的单独文件中.
我的开发环境包括VS2010和VS2013,我通过Web PI,Web部署工具,Windows Azure SDK安装了Web部署3.5.我的系统PATH环境var包括c:\Windows\Microsoft.NET\Framework64\v4.0.30319\;c:\Program Files\IIS\Microsoft Web Deploy V3能够运行MSBuild和MSDeploy从cmd.当我查看MSBuild日志时,我看到:
CopyAllFilesToSingleFolderForMsdeployDependsOn =
;
;
CopyAllFilesToSingleFolderForPackageDependsOn =
;
;
;
Run Code Online (Sandbox Code Playgroud)
有些东西在这里
PipelineDeployPhaseDependsOn =
;
Package;
Run Code Online (Sandbox Code Playgroud)
所以我的问题是在哪里找到我的错误包装管道的来源?我错过了哪种额外的诊断?
似乎MSBuild缓存的构建目标可能非常错误,但是在Windows重新启动后,各种挂钩包括来自这篇帖子的那个终于解决了我的问题,开始按预期工作.
此外,对于所有正在进行自动构建的人来说,可能有趣的是注意到web deplopy相关的东西可以从主{Project Name}.csproj文件移动到相应的{Project Name}.wpp.targets文件,我认为这是一种更优雅的配置构建选项的方式,特别是如果你不这样做想要将它们包含在TFS中,或者想要为不同的发布目标定制构建befaviour.
所以,这是我的最终.wpp.targets文件,现在对我有用:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<IgnoreDeployManagedRuntimeVersion>True</IgnoreDeployManagedRuntimeVersion>
<ExcludeFilesFromDeployment>Web.config</ExcludeFilesFromDeployment>
<SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
<AllowUntrustedCertificate>True</AllowUntrustedCertificate>
</PropertyGroup>
<Target Name="BeforeBuild">
<Message Text="Building our Web Deploy package using Tools path $(VSToolsPath)" Importance="high"/>
</Target>
<!-- More verbose way of doing the same as with BeforeTargets -->
<!-- <PropertyGroup>-->
<!-- <CopyAllFilesToSingleFolderForPackageDependsOn>-->
<!-- CollectJsMinFiles;-->
<!-- $(CopyAllFilesToSingleFolderForPackageDependsOn);-->
<!-- </CopyAllFilesToSingleFolderForPackageDependsOn>-->
<!-- <CopyAllFilesToSingleFolderForMsdeployDependsOn>-->
<!-- CollectJsMinFiles;-->
<!-- $(CopyAllFilesToSingleFolderForMsdeployDependsOn);-->
<!-- </CopyAllFilesToSingleFolderForMsdeployDependsOn>-->
<!-- </PropertyGroup>-->
<!-- <Target Name="CollectJsMinFiles"> -->
<Target Name="CollectJsMinFiles" BeforeTargets="CopyAllFilesToSingleFolderForPackage;CopyAllFilesToSingleFolderForMsdeploy">
<Message Text="Collecting min JS files in CollectJsMinFiles" Importance="high"/>
<ItemGroup>
<JsMinFiles Include="**\*.min.js" />
<FilesForPackagingFromProject Include="%(JsMinFiles.Identity)">
<DestinationRelativePath>%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
</Project>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1831 次 |
| 最近记录: |