ASP.NET解决方案类库项目
我在VS 2008中有一个解决方案,其中包含两个类库项目和一个ASP.NET网站。 ASP.NET站点引用类库,其中一个库包含LINQ To SQL项。ASP.NET解决方案类库项目
我的问题是关于包含数据库连接字符串的类库中的app.config。当我构建项目时,此app.config不在构建目录中,这意味着我无法动态更改已部署项目的连接字符串。
我在做什么错在这里,我怎么能部署这些设置,所以我可以更改连接字符串?
在此先感谢,
Martin。
这也引起了我一些混乱。
您可能认为类库使用包含在它自己的项目中的app.config文件,但它没有。它使用引用它的项目的配置文件。
所以,你需要做的是寻找你的ASP.Net项目的web.config文件里面的<appSettings/>
标签并将其更改为<appSettings></appSettings>
,并添加包含在库中的app.config文件中<add ... />
标签是什么项目。您无需更改代码中ConfigurationManager类的任何内容即可解决此问题。它知道在哪里自动寻找。
希望是有道理的。
您可以在最终产品中编辑Web.config
文件。配置API通常会从应用程序的主配置文件中获取配置数据,在ASP.NET应用程序中为Web.config
,客户端应用程序为Myfile.exe.config
。知道项目中的类库通常不会有像MyClassLib.dll.config
这样的单独配置文件(除非您手动引用特定文件),这一点很重要。
将库的app.config文件中的connectionString节复制到您的web.config文件中。根据需要将实际连接字符串从开发改为生产服务器。 LINQ2SQL用于获取连接字符串的ConfigurationManager类将在web.config文件中查找适当命名的连接字符串,并在存在时使用它。
如果要为开发与生产设置不同的设置,请使用Web部署项目。下载here。从微软的描述:
Visual Studio 2008的Web部署 项目提供额外的 功能来构建和部署Web在Visual 2008年工作室 站点和Web应用程序这个插件提供了一个 全面的用户界面来管理打造 配置,合并和使用 预构建和后构建任务与 MSBuild。
为了克服连接字符串的问题,这里是招
- 里面已经有两个属性乌尔类库申报模块,一个是调节器和其他是一个getter,使他们上市。
- 在你的网站项目中,转到全局文件,并在会话开始和应用程序开始时调用之前声明的setter属性,并为其分配位于你的web.config,现在连接字符串将在网站的一般范围内可用,并且只要你的会话证书没有过期,值就存在。