具有连接字符串的Excel-DNA加载项存储在外部配置文件中

时间:2018-10-10 08:27:30

标签: c# app-config excel-dna

我在一个项目中使用 Excel-Dna ,该项目中,连接字符串存储在名为connections.config的外部文件中,该文件在App.config中被引用。构建项目时,两个配置文件都将被复制到bin文件夹中,App.config文件将按原样重命名为<Name>-AddIn64-packed.xll.config

问题在于打包的xll仍然依赖于两个配置文件。将连接字符串直接包含在App.config中时,一切工作正常,但是我需要将其保留在源代码之外。

关于如何进行的任何想法?

2 个答案:

答案 0 :(得分:0)

正如Hanselman在他的博客中讨论的那样。托管自己的NuGet Server

我的个人偏好是Choco Nuget Server

  1. 设置您的NuGet服务器
  2. 将您的xlls添加到某个文件夹
  3. 使用NuGet

    打包文件

    nuget pack -version 0.0.1

  4. Push将您的NuGet软件包上传到服务器

    nuget push -source \ mycompany \ repo \ mypackage.1.0.0.nupkg

推荐:删除所有用户凭据,例如密码或用户名

答案 1 :(得分:0)

如果{。{1}} XLL上的App.config上的configSource外部配置设置不支持-packed,如果主.config文件+外部文件实际上不在{ {1}} XLL是。

如果要使用-packed,则必须将这些外部文件与configSource XLL放在同一文件夹中。

例如

  • -packed
  • <Name>-AddIn-packed.xll
  • <Name>-AddIn-packed.xll.config
  • <Name>-AddIn64-packed.xll
  • <Name>-AddIn64-packed.xll.config

或者,如果您希望将连接字符串存储在外部文件中,但仍嵌入在connections.config XLL中,则完全不使用-packed,请添加{{1} }作为程序集的嵌入式资源,以及read your connection strings from there