asp.net - 如何使用自定义目标 "PublishToFileSystem"从发布中排除APP_DATA目录

标签 asp.net web build msbuild

我正在使用自定义目标将我的网站发布到本地文件夹。

目标(找到 here )看起来像:

<Target Name="PublishToFileSystem"
        DependsOnTargets="PipelinePreDeployCopyAllFilesToOneFolder">
    <Error Condition="'$(PublishDestination)'==''"
           Text="The PublishDestination property must be set to the intended publishing destination." />
    <MakeDir Condition="!Exists($(PublishDestination))"
             Directories="$(PublishDestination)" />

    <ItemGroup>
        <PublishFiles Include="$(_PackageTempDir)\**\*.*" />
    </ItemGroup>

    <Copy SourceFiles="@(PublishFiles)"
          DestinationFiles="@(PublishFiles->'$(PublishDestination)\%(RecursiveDir)%(Filename)%(Extension)')"
          SkipUnchangedFiles="True" />
</Target>

相应的 msbuild 命令如下所示:

msbuild projectfile.csproj /p:DeployOnBuild=true /p:VisualStudioVersion=14.0 /p:configuration=Release /p:PublishDestination=C:\inetpub\wwwroot\WebSite /T:PublishToFileSystem

到目前为止效果很好。但是,我想从发布中排除 APP_DATA 目录。

那么,有没有办法将 APP_DATA 目录排除在发布之外?也许可以将其从 <PublishFiles Include="$(_PackageTempDir)\**\*.*" /> 定义的文件集中排除?

环境: Visual Studio 2015 MSBuild 工具 2015

最佳答案

我发现的最简单的方法是在发布配置文件中设置它。

<ExcludeApp_Data>False</ExcludeApp_Data>

enter image description here

关于asp.net - 如何使用自定义目标 "PublishToFileSystem"从发布中排除APP_DATA目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41463755/

相关文章:

c# - 插入语句不起作用

java - gradle远程调试过程

asp.net - .ASPXANONYMOUS cookie 在每个新 session 中都会被覆盖

python - 将一个变量赋值到 `g` 一次且仅一次用于 Flask 中的应用

dns - 为什么更新域的名称服务器需要这么长时间?

asp.net-mvc - Azure 网站重定向循环

java - Gradle 构建未使用的依赖项

c++ - Autotools 不喜欢我项目目录中的 install.sh 脚本

javascript - 将字符串值从c#文件传递到js文件

c# - CSV 读数为空