在Visual Studio用户界面中将AppSetting.json显示为“版本化或嵌套”文件[重复]

9udxz4iz  于 2023-03-31  发布在  其他
关注(0)|答案(2)|浏览(221)

此问题在此处已有答案

How do I get a console project to group my appsettings.json files?(4个答案)
去年关闭了。
我有一个.NETStandard库,需要通过configuration-environment添加(版本化)JSON文件。诀窍是...我想看看是否可以设置项目文件(.proj)以与Web.Config文件相同的方式列出它们。
例如:
在VisualStudio中,web.config将以这种方式显示

它通过在.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>

所以说清楚...

但是这在.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>
h5qlskok

h5qlskok1#

在.NET 5中,您可以通过.csproj文件中的DependentUpon标记来执行此操作。

<ItemGroup>
  <None Update="appsettings.json">
    <CopyToOutputDirectory>Always</CopyToOutputDirectory>
  </None>
</ItemGroup>
<ItemGroup>
  <None Update="appsettings.Production.json">
    <DependentUpon>appsettings.json</DependentUpon>
  </None>
</ItemGroup>
8dtrkrch

8dtrkrch2#

  1. Integrated file nesting in Solution Explorer

但请注意,此扩展对以下项目类型有一些限制(来自扩展描述的Known issues部分):

  • Node.js项目(NTVS)
  • ASP.NETCore(内置嵌套规则)
  • Apache cordova
  • 共享项目

在不受支持的项目类型(例如.NETStandard库)中,将以下内容添加到您的项目文件中&“添加自定义设置”选项将自动出现在您的“解决方案资源管理器”工具栏中。(请注意,这是一个变通方法,而不是正式的解决方案)

<!-- I added this node to enable "Custom File Nesting" -->
  <ItemGroup>
    <ProjectCapability Include="DynamicDependentFile" />
    <ProjectCapability Include="DynamicFileNesting" />
  </ItemGroup>

在那之后...

  • 相应地命名您的自定义文件(settings.json、settings.debug.json等)
  • 并在“添加自定义设置”选项中将“标准设置”选项设置为“Web”

相关问题