我有一个.NETStandard库,需要通过配置环境添加(版本控制的)JSON 文件。诀窍是......我想看看是否可以设置项目文件(.proj)以与 Web.Config 文件相同的方式列出它们。
例如:
web.config 将在 Visual Studio 中以这种方式显示

它通过在 .PROJ 文件中执行以下操作来实现此目的:
<None Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon>
</None>
<None Include="Web.ModelOffice.config">
<DependentUpon>Web.config</DependentUpon>
</None>
<None Include="Web.Release.config">
<DependentUpon>Web.config</DependentUpon>
</None>
<None Include="Web.Development.config">
<DependentUpon>Web.config</DependentUpon>
</None>
<None Include="Web.Production.config">
<DependentUpon>Web.config</DependentUpon>
</None>
Run Code Online (Sandbox Code Playgroud)
所以,要明确的是...
但这在图书馆不起作用.NETStandard......
<None Include="appsettings.json" />
<None Include="appsettings.development.json">
<DependentUpon>appsettings.json</DependentUpon>
</None>
<None Include="appsettings.modeloffice.json">
<DependentUpon>appsettings.json</DependentUpon>
</None>
<None Include="appsettings.production.json">
<DependentUpon>appsettings.json</DependentUpon>
</None>
Run Code Online (Sandbox Code Playgroud)
Vid*_*ati 13
在 .NET 5 中,您可以通过文件DependentUpon中的标记来执行此操作.csproj。
<ItemGroup>
<None Update="appsettings.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<None Update="appsettings.Production.json">
<DependentUpon>appsettings.json</DependentUpon>
</None>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
有一个FileNesting 扩展,由Mads Kristensen编写。
但请注意,此扩展对以下项目类型有一些限制(来自Known issues扩展描述部分):
- Node.js 项目 (NTVS)
- ASP.NET Core(具有内置的嵌套规则)
- 阿帕奇科尔多瓦
- 共享项目
在不受支持的项目类型(例如.NETStandard库)中,将以下内容添加到项目文件中,“添加自定义设置”选项将自动出现在“解决方案资源管理器”工具栏中。(请注意,这是一个解决方法,而不是官方解决方案)
<!-- I added this node to enable "Custom File Nesting" -->
<ItemGroup>
<ProjectCapability Include="DynamicDependentFile" />
<ProjectCapability Include="DynamicFileNesting" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
在那之后...
| 归档时间: |
|
| 查看次数: |
4904 次 |
| 最近记录: |