通过使用我的 Nuget 包的 VS2015 构建 .NET 项目不会复制 .config 文件
Building .NET project through VS2015 that uses my Nuget Package doesn't copy .config file
nuget 项目以 .NET 4.0 为目标,并使用 .nuspec 文件进行所有 nuget 配置。
我的项目当前使用 App.config 文件。
我已经成功地将 project.dll、project.pdb 和 project.dll.config (app.config) 打包到我的 NuGet 包中。
当我尝试使用我的 NuGet 包构建项目时,我发现生成的 bin 文件夹不包含我的配置文件。
应该注意的是,如果我在 Rider 中构建,安装工作正常并且配置文件被复制。
问我任何问题,到目前为止,我真正尝试过的只是在我的 .nuspec 中使用。
如果你的 nuget 需要配置值,你应该让它们默认是可选的并记录如何配置你的库,或者你需要使用 config transformations
.Net 只加载一个配置文件,与主exe 匹配的是运行。因此,即使您手动将 project.dll.config
复制到包含二进制文件的文件夹中,我也不相信它会被加载。 (一个配置文件可以加载其他配置文件,但最好使用转换将您的值添加到其中,以便您的库的最终用户可以根据需要修改它们)
我承认我对 Rider 不是很熟悉,但 Nuget 旨在成为一个依赖库管理器,库不应该有自己的 "semi-secret" 配置文件。如果您的配置文件值实际被加载,或者您如何访问这些值,我会很好奇它在做什么(在我看来,您应该使用相同的内置函数来加载 app.config 值,就像你在主 exe 中)。
nuget 项目以 .NET 4.0 为目标,并使用 .nuspec 文件进行所有 nuget 配置。
我的项目当前使用 App.config 文件。
我已经成功地将 project.dll、project.pdb 和 project.dll.config (app.config) 打包到我的 NuGet 包中。
当我尝试使用我的 NuGet 包构建项目时,我发现生成的 bin 文件夹不包含我的配置文件。
应该注意的是,如果我在 Rider 中构建,安装工作正常并且配置文件被复制。
问我任何问题,到目前为止,我真正尝试过的只是在我的 .nuspec 中使用。
如果你的 nuget 需要配置值,你应该让它们默认是可选的并记录如何配置你的库,或者你需要使用 config transformations
.Net 只加载一个配置文件,与主exe 匹配的是运行。因此,即使您手动将 project.dll.config
复制到包含二进制文件的文件夹中,我也不相信它会被加载。 (一个配置文件可以加载其他配置文件,但最好使用转换将您的值添加到其中,以便您的库的最终用户可以根据需要修改它们)
我承认我对 Rider 不是很熟悉,但 Nuget 旨在成为一个依赖库管理器,库不应该有自己的 "semi-secret" 配置文件。如果您的配置文件值实际被加载,或者您如何访问这些值,我会很好奇它在做什么(在我看来,您应该使用相同的内置函数来加载 app.config 值,就像你在主 exe 中)。