Vb.net 在运行时加载App.Config

Vb.net 在运行时加载App.Config,vb.net,runtime,app-config,rft,Vb.net,Runtime,App Config,Rft,我正在使用IBM的Rational Functional Tester(RFT)工具创建一个测试项目(我们使用的是它的VB版本,它只支持till.net 3.5)。在这个项目中,我使用实体框架进行所有数据库查询。问题是实体框架从App.Config文件检索“元数据”、“连接字符串”等,RFT不允许我向项目中添加App.Config(我想它就是这样设计的——我在谷歌上搜索了向RFT项目中添加App.Config文件,但什么都没有发现),实体框架要求您在入口点有App.Config文件。我正在构建字

我正在使用IBM的Rational Functional Tester(RFT)工具创建一个测试项目(我们使用的是它的VB版本,它只支持till.net 3.5)。在这个项目中,我使用实体框架进行所有数据库查询。问题是实体框架从App.Config文件检索“元数据”、“连接字符串”等,RFT不允许我向项目中添加App.Config(我想它就是这样设计的——我在谷歌上搜索了向RFT项目中添加App.Config文件,但什么都没有发现),实体框架要求您在入口点有App.Config文件。我正在构建字符串,以便在代码中传递给实体框架,但我的老板真的不喜欢这样。 因此,看看我的选择,我认为以下两种解决方案中的任何一种都应该足够了(或者如果您有更好的解决方案,请提供建议)

  • 是他们在运行时加载App.Config的任何方式
  • 他们是否有办法将App.Config添加到RFT项目(应该 这真的是我的第一个问题)
  • 如果你们能帮我,那就太好了。
    提前感谢。

    经过大量研究,我发现您可以在运行时使用

          ExeConfigurationFileMap map = new ExeConfigurationFileMap();
          map.ExeConfigFilename = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, Assembly.GetExecutingAssembly().ManifestModule.Name + ".config");
          Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
          var configValue = config.ConnectionStrings.ConnectionStrings["refrenceNameinConfigfile"].ConnectionString;
    

    只需确保App.config位于我当前正在处理的项目中运行exe文件的文件夹中即可。我通过实体上下文进行连接,我在web.config中没有对EF的引用。你确定你需要配置吗?@kcbeard:奇怪,我昨天添加了一条评论,但似乎没有看到。要回答您的评论,是的,我确实需要一个配置文件,我创建了一个vb.net控制台应用程序,只是为了测试它是rft还是其他什么,结果是,将配置文件添加到控制台应用程序后,它可以正常工作,没有任何问题。@kcbeard是的,我从来没有在没有配置文件的情况下工作过,所以我不知道是否需要它。我只知道我在运行时定义了实体上下文或基本上定义了数据库连接,所以在处理项目时,实体框架的自动配置编辑总是被删除。基本上是因为连接字符串发生在每个用户的基础上。我希望我能帮上更多的忙,但我对你的具体工作没有任何经验。@kcbeard:嘿,我找到了一种方法,把答案贴在下面,谢谢你的帮助