Msbuild dotnet核心发布:在输出中包含/排除目录
给定包含文件夹的aspnet项目:Msbuild dotnet核心发布:在输出中包含/排除目录,msbuild,.net-core,Msbuild,.net Core,给定包含文件夹的aspnet项目: / /sql /WebApp /Client /wwwroot /Views 在project.json上,我使用了 "publishOptions": { "include": [ "..\\sql", "wwwroot", "Views", "web.config" ] } 在dotnet发布后有sql,wwwroot和视图文件夹 在迁移到csproj(
/
/sql
/WebApp
/Client
/wwwroot
/Views
在project.json上,我使用了
"publishOptions": {
"include": [
"..\\sql",
"wwwroot",
"Views",
"web.config"
]
}
在dotnet发布后
有sql
,wwwroot
和视图
文件夹
在迁移到csproj(Microsoft.NET.Sdk.Web)之后,我得到了
得到了同样的结果
如何删除客户端
并保留sql
的文件夹结构?更新:
当使用VS 2017>=15.3或.NET CLI版本>=2.0时,有一个新功能可以自动为一些已知的项目类型(包括内容)添加链接元数据。这可以像这样使用:
<Content Include="..\sql\**" LinkBase="sql" />
但是,这将在SoultionExplorer中显示sql
文件夹,因此我将其替换为
PostTargets=Publish您还可以在Content Include元素上设置Visible=“false”
,以从解决方案资源管理器中隐藏文件。
<Content Include="..\sql\**" CopyToPublishDirectory="PreserveNewest" />
<Content Remove="Client\*" CopyToPublishDirectory="Never" />
<Content Include="..\sql\**" LinkBase="sql" />
<ItemGroup>
<Content Remove="Client\**" />
<Content Include="..\sql\**" CopyToPublishDirectory="PreserveNewest" Link="sql\%(RecursiveDir)\%(Filename)%(Extension)" />
</ItemGroup>
<Content Update="Client\**" CopyToPublishDirectory="Never" />