.NET Core 2.0中appsettings.json未生成至bin目录的解决方法咨询
解决.NET Core 2.0中appsettings.json未自动复制到bin目录的问题
嗨,作为.NET Core新手遇到这个问题很正常,毕竟和之前.NET Framework的配置方式不太一样——完全不用手动复制appsettings.json到bin目录,有两种简单的自动处理方法:
方法1:通过Visual Studio图形界面设置(适合新手)
- 在你的项目中找到
appsettings.json文件,右键点击它选择属性 - 在弹出的属性窗口里,找到复制到输出目录的下拉选项,选择如果较新则复制(推荐)或者始终复制
- 之后再编译项目(不管是点击VS的编译按钮还是用
dotnet build命令),文件都会自动同步到bin目录对应的输出文件夹里
方法2:手动修改.csproj项目文件
如果习惯直接编辑配置文件,可以打开你的项目.csproj文件,添加或修改以下配置节点:
<ItemGroup> <None Update="appsettings.json"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> </ItemGroup>
PreserveNewest表示只有当源文件比bin目录里的文件更新时才会复制,比Always更高效,避免不必要的重复复制操作- 保存.csproj文件后,执行
dotnet build或者在VS里重新编译,配置文件就会自动出现在bin目录中
补充说明
.NET Core默认不会自动把配置文件复制到输出目录,这和.NET Framework中自动处理App.Config/Web.Config的逻辑不同,所以需要显式配置文件的复制规则。配置完成后,你再运行dotnet prj.dll命令时,程序就能正常找到appsettings.json文件,不会再抛出找不到配置的异常了。
内容的提问来源于stack exchange,提问作者Diego
相关产品推荐
相关产品推荐

