2011-08-17 25 views
13

C'è un modo per impostare i parametri MSDeploy nel file .csproj stesso del progetto ASP.NET MVC? In particolare un parametro "salta", che dovrebbe saltare una cartella "Temp".Come impostare le impostazioni di MSDeploy nel file .csproj

-skip:objectName=dirPath,absolutePath="\\temp" 

.. o come posso passare questo parametro nell'elenco di argomenti MSBuild.exe?

+0

Come viene definito il target? Esegui msbuild.exe in modo esplicito? – sll

+0

MSBuild.exe viene eseguito dal server TFS Build con argomenti simili a questo: '/ p: DeployOnBuild = true; DeployTarget = MsDeployPublish; MSDeployPublishMethod = WMSVC; MsDeployServiceUrl = ...' –

+0

È possibile aggiungere un argomento in modo esplicito come msbuild.exe/p: absolutePath = "\\ temp"? – sll

risposta

10

Definire <MsDeploySkipRules> nel file di progetto. Ad esempio:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
    <OnBeforePackageUsingManifest>AddSkipRules</OnBeforePackageUsingManifest> 
    </PropertyGroup> 
    <Target Name="AddSkipRules"> 
    <ItemGroup> 
     <MsDeploySkipRules Include="SkipTempDirOnDeploy"> 
     <SkipAction></SkipAction> 
     <ObjectName>dirPath</ObjectName> 
     <AbsolutePath>$(_Escaped_PackageTempDir)\\Temp$</AbsolutePath> 
     <XPath></XPath> 
     </MsDeploySkipRules> 
    </ItemGroup> 
    </Target> 
</Project> 
+8

Affinché funzioni durante la distribuzione tramite la funzionalità "Pubblica" di Visual Studio, è necessario utilizzare "AfterAddIisSettingAndFileContentsToSourceManifest' anziché" OnBeforePackageUsingManifest'. Vedi il commento http://blog.alanta.nl/2011/02/web-deploy-customizing-deployment.html?showComment=1314013105475#c1406362862563428999 –

+4

Quando provo questo, ottengo "skipaction" non riconosciuta skipaction "." nella build. Cosa mi manca? –

+1

Ottengo lo stesso errore di Paul Smith. – Chris

Problemi correlati