繁体   English   中英

使用DAAB 4.1的已部署项目上的运行时错误

[英]Run-time Error on deployed project using DAAB 4.1

尝试使用Microsoft Enterprise Library的数据访问应用程序块4.1时,我在部署时遇到了一个奇怪的问题。 尝试使用利用DAAB的Web应用程序的元素时,出现以下未处理的异常:

Exception information: 
Exception type: BuildFailedException 
Exception message: The current build operation (build key Build Key[Microsoft.Practices.EnterpriseLibrary.Data.Database, DBNAME]) failed: The type initializer for 'Microsoft.Practices.EnterpriseLibrary.Data.Database' threw an exception. (Strategy type ConfiguredObjectStrategy, index 2) 

我的web.config包含以下用于connectionStrings的部分:

    <connectionStrings configSource="data.config" />

并且data.config包含在异常中引用的DBNAME的条目:

<?xml version="1.0"?>

<connectionStrings>`

<add name="dbname"
    providerName="System.Data.SqlClient"
    connectionString="[valid information here]" />

</connectionStrings>

我知道连接字符串有效,因为未使用DAAB进行数据访问的应用程序部分使用相同的连接字符串没有问题。 另外,在我的开发机器以及其他开发者的机器上,一切都正常进行。 这仅在部署到生产服务器上时发生,甚至不特定于“发布”版本,因为该版本在我的本地计算机上也运行良好。

我怀疑这可能是生产服务器的配置问题,但我一直无法弄清楚这可能是什么。 MSDN上有关部署企业库的文章提到,程序集的xcopy部署应该可以工作,并且我将它们包括在/ bin文件夹中,所以我不确定从那里开始。 有任何想法吗?

好吧,添加引用时确实会警告您。 至少这就是我的机器上的表现。 因此,您没有牢靠的理由。 :)

但是,异常消息是完全模棱两可的,因此感谢您提供信息。

终于明白了。 Enterprise Library 4.1需要Framework 3.5,尽管我们仍将Framework 2.0用于我们的应用程序,但由于使用Visual Studio 2008,3.5已安装在我们的开发计算机上。但是,我们并未在生产服务器和Windows Server 2003上安装Framework 3.5。这样做后问题消失了。

令人困惑的是,我明确地将解决方案中所有项目(包括依赖于Enterprise Library的项目)中的编译目标都定为2.0,因此您认为引用需要3.5的程序集至少会在编译时产生警告。 那好吧。

暂无
暂无

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

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