我正在使用自定义目标将我的网站发布到本地文件夹。
目标(找到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 Tools 2015
答案 0 :(得分:2)
您可以从解决方案属性中执行此操作。只需右键单击解决方案并选择其属性即可。您将获得Package / Publish选项卡,您只需选中“从App_Data文件夹中排除文件”。您可以查看附加的屏幕截图。 希望这可以帮到你。
答案 1 :(得分:1)
我发现最简单的方法是在发布配置文件中进行设置。
stream data: http response 1
inner observable subscription: http response 1
stream data: http response 1
答案 2 :(得分:0)
可以在项目文件中设置选项(由@Vipin Rathore建议):
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<ExcludeFoldersFromDeployment>APP_DATA</ExcludeFoldersFromDeployment>
</PropertyGroup>