2009-06-01 51 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

那麼,它會給你一個警告,當你添加引用。至少它在我的機器上表現如何。因此,您的投訴沒有堅實的理由。 :)

但是,異常消息是完全不明確的,所以謝謝你的信息。