我们使用ajaxmin从我们所有的.js文件创建.min.js文件创建的msdeploy包创建的文件。我们编辑的项目的.csproj文件,并添加以下内容:我们怎样才能包括由ajaxmin通过的MSBuild
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\MicrosoftAjax\ajaxmin.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文件复制到的位置在哪里包已创建。我也试过以下URL 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>
有没有其他人也是这个问题还是没有人有一个想法如何包括* .min.js中的文件msdeploy软件包并将文件复制到放置位置?
感谢这个帖子。这些文件现在包含在软件包中。 – 2010-11-13 12:20:06
不客气 – 2010-11-13 21:23:30