我有一个ASP.NET MVC 4 web项目(相对于网站)解决方案。在该解决方案中,还有其他几个与独立层相关的项目(域项目、服务项目、数据项目和quickbooks项目)。即:
Web
- Domain
- Data
- ApplicationServices
- Quickbooks
- app.config
- web.configquickbooks项目有一个用于特定参数的app.config文件。当在本地运行时,所有这些都可以工作,quickbooks项目可以访问app.config文件以获得它在运行时所需的设置。
但是,当我编译要部署的整个解决方案时,程序似乎无法访问这个app.config文件。
如果我查看从发布构建过程生成的结果发布包,就会看到一个bin文件夹,并在其中看到quickbooks.dll。但是app.config文件不是。
在visual中,我在整个构建过程领域肯定很薄弱,所以如果这是基本的话,请原谅我。
1.)这是可能的吗,还是所有的app.config文件都需要在顶级的Web项目中?
2.)如果有可能,并且我希望它是我试图尽可能多地封装quickbooks项目,那么在构建之后,app.config文件应该在哪里结束呢?在垃圾箱里?在网络根部?
发布于 2014-02-07 17:26:11
如果该项目被另一个项目引用(在您的例子中是web项目),它的app.config将不包含在发布包中。当IIS (或其他任何东西)正在运行您的项目时,它正在您部署的项目的上下文中运行。任何引用都将加载到正在运行的项目的上下文中。
如果您的app.config中有设置,如
<appSettings>
<add key="name" value="value"/>
</appSettings>您还需要在您的web.config中设置这些。这样,引用的程序集就可以访问它在运行中的应用程序的上下文中所需的内容。
https://stackoverflow.com/questions/21633647
复制相似问题