通过使用我的Nuget包的VS2015构建.NET项目不会复制.config文件

问题描述 投票:-1回答:1

nuget项目以.NET 4.0为目标,并使用.nuspec文件进行所有nuget配置。

我的项目当前使用的是App.config文件。

我已经成功地将project.dll,project.pdb和project.dll.config(app.config)打包到我的NuGet包中。

当我尝试使用我的NuGet包构建项目时,我可以看到生成的bin文件夹不包含我的配置文件。

应该注意的是,如果我在Rider中构建,则安装正常并且复制配置文件。

问我什么,到目前为止,我真正尝试的是在我的.nuspec中使用。

c# visual-studio-2015 nuget nuget-package nuget-spec
1个回答
0
投票

如果你的nuget需要配置值,你应该默认它们是可选的并记录如何配置你的库,或者你需要使用config transformations

.Net只加载一个配置文件,该文件与正在运行的主exe匹配。因此,即使您手动将project.dll.config复制到包含二进制文件的文件夹中,我也不相信它会被加载。 (一个配置文件可以加载其他配置文件,但最好使用转换将值添加到其中,以便库的最终用户可以根据需要修改它们)

我承认我对Rider不太熟悉,但Nuget打算成为一个依赖库管理器,库不应该有自己的“半秘密”配置文件。如果您的配置文件值实际上被加载,或者您如何访问这些值,我会非常好奇它是怎么做的(我想我应该使用相同的内置函数来加载app.config值,就好像你'重新在主exe)。

© www.soinside.com 2019 - 2024. All rights reserved.