2010-11-10 25 views
5

tarafından oluşturulan msdeploy paketinde ajaxmin tarafından oluşturulan dosyaları nasıl ekleyebiliriz. Tüm .js dosyalarından .min.js dosyaları oluşturmak için ajaxmin kullanıyoruz. Biz projenin .Csproj dosyasını düzenledikten ve aşağıdaki eklendi: bizim iş istasyonunda site oluşturmak ve .min.js dosyaları sitesinde kullanılabilen bu harika çalışıyorMSBuild

<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> 

. Bu projede bu görevi kontrol ettiğimizde msbuild sunucusunda da çalışır ancak ajaxmin tarafından üretilen .min.js dosyaları, kullandığımız tfs2010 Rolling Build'in bırakma konumuna kopyalanmaz. Bu .min.js dosyaları, aynı zamanda bu yuvarlanan yapı sırasında oluşturduğumuz pakete dahil edilmez ve aynı zamanda bırakma konumuna da kopyalanır. Paket için yalnızca projeye dahil olan dosyalar kullanılır ve bırakma konumuna kopyalanır.

biz paketi oluşturmak için kullandığınız MSBuild argümanlar

şunlardır:

/p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:MSDeployPublishMethod=InProc /p:CreatePackageOnPublish=True /p:MSDeployServiceURL=localhost 

Ben yere tüm .min.js dosyaları kopyalamak için ekstra bir yapı görevi ekleme gibi birkaç şey denedim nerede paket oluşturuldu. Ben de denedim benim .Csproj dosyasında aşağıdaki ile bu dosyaları dahil etmek url http://sedodream.com/2010/05/01/WebDeploymentToolMSDeployBuildPackageIncludingExtraFilesOrExcludingSpecificFiles.aspx aşağıdaki:

<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> 

başkasının da bu sorunu Has ya kimse * nasıl dahil etmek fikir sahibi dosyaları .min.js yok msdeploy paketi ve dosyaları bırakma konumuna kopyalamak?

cevap

4

Hedef dizini kaçırdınız, yapmanız gereken tek şey, tüm min dosyalarının projenizdeki her klasöre kopyalanmadığınızdan emin olmak için komut dizininizdeki, kaynaktaki ve hedefinizdeki her bir komut dosyası için ikili klasörler oluşturmaktır. projeniz, ben bir makale ve bunun nasıl kim yazma herhangi bir şekilde bir senaryo klasör yapısı, bunu da projeyi, http://mohamedradwan.wordpress.com/2010/11/12/how-to-include-minify-files-or-custome-files-with-web-pagckage-or-ms-deploy-package/

Bu sayede gönderme için

+0

Teşekkür indirebilirsiniz. Dosyalar pakete dahil edilmiştir. –

+0

Bir şey değil –