2016-09-19 70 views
0

我需要从项目发布中排除文件夹媒体,umbraco和umbraco_client。这些文件夹很少更改,我不想每次都等待,直到它们在FTP服务器上发布期间被复制。下面是我的配置local.pubxml:从Visual Studio 2015出版物中排除文件夹

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
    <WebPublishMethod>FileSystem</WebPublishMethod> 
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration> 
    <LastUsedPlatform>Any CPU</LastUsedPlatform> 
    <SiteUrlToLaunchAfterPublish /> 
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish> 
    <ExcludeApp_Data>False</ExcludeApp_Data> 
    <publishUrl>My_path</publishUrl> 
    <DeleteExistingFiles>False</DeleteExistingFiles> 
    <ExcludeFoldersFromDeployment>media;umbraco;umbraco_client</ExcludeFoldersFromDeployment> 
    <MSDeployUseChecksum>true</MSDeployUseChecksum> 
    <AfterAddIisSettingAndFileContentsToSourceManifest>AddCustomSkipRules</AfterAddIisSettingAndFileContentsToSourceManifest> 
    </PropertyGroup> 
    <Target Name="AddCustomSkipRules"> 
    <Message Text="Adding Custom Skip Rules" /> 
    <ItemGroup> 
     <MsDeploySkipRules Include="SkipmediaFolder"> 
     <ObjectName>dirPath</ObjectName> 
     <AbsolutePath>$(_DestinationContentPath)\\media</AbsolutePath> 
     <XPath> 
     </XPath> 
     </MsDeploySkipRules> 
     <MsDeploySkipRules Include="SkipUmbracoFolder"> 
     <ObjectName>dirPath</ObjectName> 
     <AbsolutePath>$(_DestinationContentPath)\\umbraco</AbsolutePath> 
     <XPath> 
     </XPath> 
     </MsDeploySkipRules> 
     <MsDeploySkipRules Include="SkipUmbraco_clientConfig"> 
     <ObjectName>dirPath</ObjectName> 
     <AbsolutePath>$(_DestinationContentPath)\\umbraco_client</AbsolutePath> 
     <XPath> 
     </XPath> 
     </MsDeploySkipRules> 
    </ItemGroup> 
    </Target> 
</Project> 

该媒体文件夹不会公布后,但一把umbraco和umbraco_client文件夹仍然继续在出版过程中进行复制。之后,我从项目中排除了umbraco和umbraco_client文件夹,但它也不能解决问题。有任何想法吗? :)

+0

这种方法对我来说总是有效。当您最初完成时可能会出现问题。你不能删除当前的配置文件,并重新开始?有时候VS很有气质。 –

回答

1

我做这项工作的一些问题之后,也许它可以帮助你的情况:

1.-移动你的MsDeploySkipRules在一个单独的文件名为yourprojectname.wpp.targets在同一文件夹中的.csproj,与以下内容(你必须把文件路径和dirPath与它的通配符每个文件夹):

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <ItemGroup> 

     <MsDeploySkipRules Include="SkipmediaFolderFiles"> 
     <SkipAction></SkipAction> 
     <ObjectName>filePath</ObjectName> 
     <AbsolutePath>$(_DestinationContentPath)\\media\\.*</AbsolutePath> 
      <Apply>Destination</Apply> 
     <XPath></XPath> 
     </MsDeploySkipRules> 
     <MsDeploySkipRules Include="SkipmediaFolderChildFolders"> 
     <SkipAction></SkipAction> 
     <ObjectName>dirPath</ObjectName> 
     <AbsolutePath>$(_DestinationContentPath)\\media\\.*\\*</AbsolutePath> 
      <Apply>Destination</Apply> 
     <XPath></XPath> 
     </MsDeploySkipRules> 

     <MsDeploySkipRules Include="SkipUmbracoFolderFiles"> 
      <SkipAction></SkipAction> 
     <ObjectName>filePath</ObjectName> 
     <AbsolutePath>$(_DestinationContentPath)\\umbraco\\.*</AbsolutePath> 
      <Apply>Destination</Apply> 
     <XPath></XPath> 
     </MsDeploySkipRules> 
     <MsDeploySkipRules Include="SkipUmbracoFolderChildFolders"> 
      <SkipAction></SkipAction> 
     <ObjectName>dirPath</ObjectName> 
     <AbsolutePath>$(_DestinationContentPath)\\umbraco\\.*\\*</AbsolutePath> 
      <Apply>Destination</Apply> 
     <XPath></XPath> 
     </MsDeploySkipRules> 

     <MsDeploySkipRules Include="SkipUmbraco_clientFolderFiles"> 
      <SkipAction></SkipAction> 
     <ObjectName>filePath</ObjectName> 
     <AbsolutePath>$(_DestinationContentPath)\\umbraco_client\\.*</AbsolutePath> 
      <Apply>Destination</Apply> 
     <XPath></XPath> 
     </MsDeploySkipRules> 
     <MsDeploySkipRules Include="SkipUmbraco_clientFolderChildFolders"> 
      <SkipAction></SkipAction> 
     <ObjectName>dirPath</ObjectName> 
     <AbsolutePath>$(_DestinationContentPath)\\umbraco_client\\.*\\*</AbsolutePath> 
      <Apply>Destination</Apply> 
     <XPath></XPath> 
     </MsDeploySkipRules> 

     </ItemGroup> 

</Project> 

2:即(非常重要)后保存文件,关闭您的Visual Studio,然后再次打开它。许多人在这一点上失败(他们修改文件并尝试再次部署而不关闭VS,然后他们不理解任何改变,并且他们错误地认为它不起作用)。

3.-尝试再次发布。

在Visual Studio 2015中测试过。

相关问题