.net-core - 包括来自 src 目录之外的文件
问题描述
我有一个这样的解决方案架构:
在我的 src 文件夹中,我有一个当前用作 UI 的控制台应用程序项目。这是启动项目。
当我运行我的解决方案时,我无法从 src 目录访问位于 config 目录中的 json 文件。因为,在调试模式下,每个项目都是单独构建的,控制台项目输出不包含 json 文件。
如果可能的话,我想要的是在控制台项目的输出目录中包含一个“config”目录,其中填充了复制到其中的 json 文件。
为了实现它,我尝试将其添加到我的控制台项目的 .csproj 中:
<ItemGroup>
<Content Include="..\..\config\**\*.*">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
基本上,我试图通过解决方案的层次结构并复制 json 文件,如果更新到我的项目的输出。但这不是那么简单,它不起作用。
如何将 json 文件复制到项目的输出目录?
编辑 1:
这是我的 csproj visibles 解决方案的结构:
解决方案
好的,我能够修复它。
所以首先我在我的“src”目录旁边物理地创建了目录“config”。
然后我通过 Visual Studio 将 2 个 jsons 文件添加到解决方案中。它创建了一个具有默认名称的目录,我将其重命名为“config”。所以我的结构与屏幕截图上的完全相同,但物理上的结构完全相同。
之后,一切正常。当我构建我的项目时,我在输出目录中有 json 文件。
但是它们位于根目录中,我希望它们位于“config”目录中。所以我修改了我的 csproj 如下:
<Target Name="CopyCustomContent" AfterTargets="AfterBuild">
<Copy SourceFiles="..\..\config\AppSettings.json" DestinationFolder="$(OutDir)/config" />
<Copy SourceFiles="..\..\config\DatabaseSettings.json" DestinationFolder="$(OutDir)/config" />
</Target>
<Target Name="CopyCustomContentOnPublish" AfterTargets="Publish">
<Copy SourceFiles="..\..\config\AppSettings.json" DestinationFolder="$(PublishDir)/config" />
<Copy SourceFiles="..\..\config\DatabaseSettings.json" DestinationFolder="$(PublishDir)/config" />
</Target>
现在,这太完美了!我的输出目录中有一个配置目录。
还是要谢谢你的帮助。
推荐阅读
- apache-spark - Pyspark -> StringIndexer:“无”值替换为数字
- spring - 带有角度和弹簧的 Okta 社会认证
- r - 使用 R 包 spatstat 进行空间分析,侧边栏未显示正确的值
- javascript - 在 React Native 中使用道具启动计时器
- powershell - 在 E2E 测试之前重新创建 Azure SQL 数据库
- d3.js - 如何在堆积条形图中突出显示条形图 d3.js v4
- java-8 - Java 8 应用层和具体的输出转换
- cucumber - 黄瓜运行时异常
- python - Django Rest Framework 列表和详细视图重叠
- vba - 根据 ID 组合来自 2 个工作表的数据,同时插入行