У меня странная проблема при развертывании при попытке использовать блок приложения доступа к данным Microsoft Enterprise Library 4.1. Я получаю следующее необработанное исключение при попытке использовать элемент веб-приложения, использующего DAAB:
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 configSource="data.config" />
И data.config содержит запись для DBNAME, на которую ссылается исключение:
<?xml version="1.0"?>
<connectionStrings>`
<add name="dbname"
providerName="System.Data.SqlClient"
connectionString="[valid information here]" />
</connectionStrings>
Я знаю, что строка подключения действительна, потому что части приложения, которые не используют DAAB для доступа к данным, используют одну и ту же строку подключения без проблем. Кроме того, все работает нормально как на моей машине для разработки, так и на машинах других разработчиков. Это происходит только при развертывании на производственных серверах и даже не относится к сборке «release», так как эта версия отлично работает и на моем локальном компьютере.
Я подозреваю, что это, вероятно, проблема конфигурации с производственными серверами, но я не смог выяснить, что это может быть. В статье MSDN по развертыванию Enterprise Library упоминается, что развертывание сборок xcopy должно работать, и я включаю их в папку / bin, поэтому я не уверен, куда идти дальше. Есть идеи?