Usiamo ajaxmin per creare file .min.js da tutti i nostri file .js. Abbiamo modificato il file Csproj del progetto e ha aggiunto seguente:Come possiamo includere i file creati da ajaxmin nel pacchetto msdeploy creato da 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>
Questa grande opera in cui si costruisce il sito sul nostro posto di lavoro ei file .min.js possono essere utilizzati nel sito. Quando controlliamo questo progetto in questa attività viene eseguito anche sul server msbuild ma i file .min.js generati da ajaxmin non vengono copiati nella posizione di rilascio della generazione di rotoli tfs2010 che usiamo. Questi file .min.js non sono inclusi nel pacchetto che creiamo durante questo rolling build e che viene anche copiato nella posizione di rilascio. Solo i file inclusi nel progetto vengono utilizzati per il pacchetto e copiati nel percorso di rilascio.
Le Argomenti MSBuild che usiamo per creare il pacchetto sono i seguenti:
/p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:MSDeployPublishMethod=InProc /p:CreatePackageOnPublish=True /p:MSDeployServiceURL=localhost
Ho provato diverse cose come l'aggiunta di un compito in più build per copiare tutti i file .min.js alla posizione in cui la il pacchetto è stato creato. Ho provato anche il seguente URL http://sedodream.com/2010/05/01/WebDeploymentToolMSDeployBuildPackageIncludingExtraFilesOrExcludingSpecificFiles.aspx per includere questo file con il seguente nel mio file 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>
Qualcun altro ha anche questo problema o qualcuno ha un'idea di come includere il * .min.js file il pacchetto msdeploy e copia i file nella posizione di rilascio?
Grazie per questo intervento. I file sono ora inclusi nel pacchetto. –
Prego –