我們使用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