2009-06-01 49 views
0

我在尝试使用Microsoft企业库的数据访问应用程序块4.1时遇到了一个奇怪的部署问题。使用DAAB 4.1部署项目时的运行时错误

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" /> 

而且数据要使用的是利用DAAB Web应用程序的元素,当我得到以下未处理的异常。配置包含了DBNAME在异常引用的条目:

<?xml version="1.0"?> 

<connectionStrings>` 

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

</connectionStrings> 

我知道连接字符串是有效的,因为未使用d应用的部分用于数据访问的AAB使用相同的连接字符串,没有问题。另外,我的开发机器以及其他开发人员的机器都能正常工作。这只发生在部署到生产服务器上,并且甚至不是特定于“发布”版本,因为该版本在我的本地机器上运行良好。

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

回答

0

终于明白了这一点。企业库4.1需要Framework 3.5,即使我们仍然针对我们的应用程序使用Framework 2.0,但是通过使用Visual Studio 2008,3.5被安装在我们的开发机器上。然而,我们没有在我们的生产服务器上安装Framework 3.5,这样做后问题就消失了。

令人费解的是,我明确地将2.0作为我的解决方案中的所有项目进行编译,包括依赖于企业库的项目,因此您认为引用需要3.5的程序集时至少会产生警告汇编。好吧。

1

那么,它会给你一个警告,当你添加引用。至少它在我的机器上表现如何。因此,您的投诉没有坚实的理由。 :)

但是,异常消息是完全不明确的,所以谢谢你的信息。