访问网络.从另一个项目配置
本文关键字:项目 配置 另一个 网络 访问 | 更新日期: 2023-09-27 18:07:45
我正在使用控制台应用程序为一些半自动测试编写一个测试平台,但是我需要从我正在测试的项目中获得连接字符串。我不想直接引用其他应用程序,或者在我正在测试的项目中有一个访问器。
到目前为止,我所做的就是创建一个到其他项目Web的链接。在我的testtility项目中的配置文件中,我将其设置为Copy if newer
。这是唯一的网络。配置在我的测试项目的根文件夹,但WebConfigurationManager.OpenWebConfiguration(null)
似乎打开一些其他Web。配置,因为其中唯一的连接字符串指向。'SQLEXPRESS(不在我的解决方案中的任何文件中,我的路径将是。'sql2008在此配置中-这是不同的)。
关于如何从另一个项目访问配置部分的任何提示或提示?
(第一个问题)
晚做总比不做好:
var filePath = @"D:'PathToConfig'Web.config";
var map = new ExeConfigurationFileMap { ExeConfigFilename = filePath };
var configFile = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
我不能把这个功劳揽在自己身上,我是在这里找到的! 我发现的解决方案是将其作为XDocument
打开并手动解析:
XDocument xdoc = XDocument.Load("Test/Web.config");
var path = xdoc.Element("configuration").Element("connectionStrings").Element("add").Attribute("connectionString").Value;
如果您有多个连接字符串,您可能希望在connectionStrings
元素上使用.Elements("add")
方法并遍历各种字符串。