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

时间:2018-09-07 18:33:31

标签: c# visual-studio-2015 nuget nuget-package nuget-spec

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

如果您的nuget需要配置值,则默认情况下您应该使它们为可选并记录如何配置您的库,或者您需要使用config transformations

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

我承认我对Rider不太熟悉,但是Nuget打算成为依赖库管理器,并且库不应具有自己的“半秘密”配置文件。我很想知道如果实际上加载了配置文件值,或者您如何访问这些值(在我看来,您应该使用相同的内置函数来加载app.config值),这是怎么回事?在主exe中)。