我正在为asp.net mvc项目编写单元测试。我有一个配置文件,我在测试中使用,但由于某种原因,配置文件必须在bin文件夹中才能找到。有没有其他方法可以做到这一点,因为我不认为在bin文件夹中配置文件是最佳做法。
答案 0 :(得分:0)
在编译期间,app.config文件会自动从根目录复制到bin文件夹。您不必手动将app.config文件放在bin文件夹中。
假设您的项目名称是
为MyTestProject
然后在构建之后,您的bin应包含以下内容:
MyTestProject.dll
MyTestProject.dll.config
加上任何其他引用的程序集。
有一点有趣的是,如果在解决方案资源管理器中右键单击app.config并转到属性(F4),您应该看到“复制到输出目录”选项设置为“不复制” 。这是对的。编译器应该处理复制和重命名。如果您将设置设置为“始终复制”,则您的bin将包含一个名为app.config
的文件,运行时将忽略该文件。
编辑:如果您要在app.config(或web.config)中引用其他配置文件,则需要将这些文件部署到相应的目录中。这方面的一个例子可能是app.config中引用的Spring.config
文件:
<spring>
<context type="Spring.Context.Support.WebApplicationContext, Spring.Web">
<resource uri="~/Spring.config"/>
</context>
</spring>