繁体   English   中英

带有类库项目的ASP.NET解决方案

[英]ASP.NET solution with class library project

我在VS 2008中有一个解决方案,它包含两个类库项目和一个ASP.NET网站。 ASP.NET站点引用类库,其中一个库包含LINQ To SQL项。

我的问题是关于类库中的app.config,它包含数据库的连接字符串。 当我构建项目时,此app.config不在构建目录中,这意味着我无法动态更改已部署项目的连接字符串。

我在这里做错了什么,如何部署这些设置,以便我可以更改连接字符串?

提前致谢,

马丁。

这也引起了我一点困惑。

您可能认为类库使用的是包含在其自己的项目中的app.config文件,但它没有。 它使用引用它的项目的配置文件。

因此,您需要做的是在ASP.Net项目的web.config文件中查找<appSettings/>标记并将其更改为<appSettings></appSettings>并添加<add ... />标记包含在库项目的app.config文件中。 您不需要在代码中更改ConfigurationManager类的任何内容来解决这个问题。 它知道自动查找的位置。

希望有道理。

为了克服连接字符串的问题,这是诀窍

  1. 在ur类库中声明了有两个属性的模块,一个是setter,另一个是getter,并将它们公之于众。
    1. 在你的ur网站项目中,转到全局文件,在session start和application start下调用你之前声明的setter属性,并为它分配ur web.config中的连接字符串,现在连接字符串将可用在网站的一般范围内,只要您的会话凭证未过期,该值就存在。

您可以在最终产品中编辑Web.config文件。 配置API通常会从应用程序的主配置文件中获取配置数据,如果ASP.NET应用程序是Web.config ,则客户端应用程序是Myfile.exe.config 重要的是要知道项目中的类库通常不会有像MyClassLib.dll.config这样的单独配置文件(除非您手动引用特定文件)。

将connectionString部分从库的app.config文件复制到web.config文件。 根据需要将实际连接字符串从开发更改为生产服务器。 LINQ2SQL用于获取连接字符串的ConfigurationManager类将在web.config文件中查找适当命名的连接字符串,如果存在则使用它。

如果要为开发与生产设置不同的设置,请使用Web部署项目。 在这里下载。 来自微软的描述:

Visual Studio 2008 Web部署项目提供了在Visual Studio 2008中构建和部署Web站点和Web应用程序的附加功能。此加载项提供了一个全面的UI,用于管理构建配置,合并以及使用MSBuild进行预构建和后构建任务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM