Search code examples
c#asp.netasp.net-mvc-3deploymentmsdeploy

How to set MSDeploy settings in .csproj file


Is there a way to set MSDeploy parameters in .csproj file itself of ASP.NET MVC project? Particularly a "skip" parameter, which should skip a "Temp" folder.

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

.. or how can I pass this parameter into MSBuild.exe arguments list?


Solution

  • Define <MsDeploySkipRules> in the project file. For example:

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