我正在构建一个ASP.VS2010中的NET应用程序.我有许多独立的程序集(类库)和相应的测试项目.

在其中一个类库中,我使用了一个应用程序.配置文件以存储设置.程序集本身使用以下代码检索设置:

 string tmp = ConfigurationManager.AppSettings["mySetting"];

问题是,当我试图在一个单独的测试项目中创建一个单元测试时,该测试并没有获取应用程序中的设置.配置文件.如果我复制应用程序.将配置文件放入测试项目中,它就可以工作了.

如何确保每个程序集使用自己的应用程序副本.配置文件.如果我必须复制配置文件,这会带来问题.还有一个额外的问题,因为可能有多个配置文件,每个程序集一个——它们怎么可能在单个测试项目中共存?

谢谢!

推荐答案

如果您需要跨多个项目共享App.config个文件,我只需将每个项目中原始的App.config个文件"添加为链接"即可.

假设你有ProjectA,加上原来的App.config.然后是ProjectATest1ProjectATest2.在TestX个项目中的每个项目中:

  1. 在Visual Studio中右键单击解决方案名称
  2. Select "添加现有项目"
  3. 导航到ProjectA App.config并 Select 它
  4. 点击"添加"按钮向下箭头
  5. Select "添加为链接"

它将在每个TestX项目中创建App.config个快捷方式.如果你改变它,它会在任何地方改变.

希望这有帮助.

Asp.net相关问答推荐

无法在Microsoft Windows Server 2016(数据中心)上运行.NET可移植性分析器

DataTables-如何修改来自JSON响应或其他DataTables参数的无结果(ZeroRecords)消息

Asp.Net Core 创建一个控制器来使用 SendGrid 发送邮箱

Windows 命令行中的/p:是什么意思

如何在现有数据库中创建 ASP.Net Identity 表?

ASP.NET - 在屏幕底部显示应用程序构建日期/信息

返回 HttpResponseMessage 时的 WebAPI Gzip

ASP.NET - AppDomain.CurrentDomain.GetAssemblies() - AppDomain 重新启动后缺少程序集

ASP.net 页面在导入语句上出现错误,但我确实有参考?

你如何确定哪个验证器失败了?

HTTP 错误 401.3 - 未经授权

如何在 ASP.Net 的客户端 (JavaScript) 上判断 Page.Validate()?

您如何在 .net WebApi2 应用程序中的 OAuth2 令牌请求中使用额外参数

GMT 和 UTC 一样吗?

由于文件路径太长,网站发布失败

Asp.Net Mvc - 如何在共享视图中有一个控制器

哪个控件导致了回发?

使用 Web.Config 转换的高级任务

如何修复 ASP.NET 错误文件 'nnn.aspx' 尚未预编译,无法请求.?

POST 字符串到 ASP.NET Web Api 应用程序 - 返回 null