我们如何在MSBuild创建的msdeploy包中包含ajaxmin创建的文件
我们使用ajaxmin从我们所有的.js文件中创建.min.js文件。我们编辑了项目的.csproj文件并添加了以下内容:
<Import Project="$(MSBuildExtensionsPath32)MicrosoftMicrosoftAjaxajaxmin.tasks" />
<Target Name="AfterBuild">
<ItemGroup>
<JS Include="***.js" Exclude="***.min.js" />
</ItemGroup>
<AjaxMin JsSourceFiles="@(JS)" JsSourceExtensionPattern=".js$" JsTargetExtension=".min.js" />
</Target>
当我们在工作站上构建站点并且可以在站点中使用.min.js文件时,这非常有用。当我们在此任务中检查此项目时,也会在msbuild服务器上运行,但是ajaxmin生成的.min.js文件不会复制到我们使用的tfs2010 Rolling Build的放置位置。这些.min.js文件也不包含在我们在此滚动构建期间创建的包中,并且也会复制到放置位置。只有包含在项目中的文件才会用于包并复制到放置位置。
我们用于创建包的MSBuild参数如下:
/p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:MSDeployPublishMethod=InProc /p:CreatePackageOnPublish=True /p:MSDeployServiceURL=localhost
我尝试了一些额外的构建任务,将所有.min.js文件复制到创建包的位置。我还尝试了以下网址:http://sedodream.com/2010/05/01/WebDeploymentToolMSDeployBuildPackageIncludingExtraFilesOrExcludingSpecificFiles.aspx,以便在我的.csproj文件中包含以下文件:
<PropertyGroup>
<CopyAllFilesToSingleFolderForPackageDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>
</PropertyGroup>
<Target Name="CustomCollectFiles">
<ItemGroup>
<_CustomFiles Include="***.min.js" />
<FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
<DestinationRelativePath>%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
有没有其他人也有这个问题或有没有人知道如何在msdeploy包中包含* .min.js文件并使文件复制到放置位置?
没有找到相关结果
已邀请:
1 个回复
樊熄忙暖