2011-12-16 132 views
6

我正在使用.net framework 4.0和Web部署安裝程序,我已經引用了sql server 2008的SMO程序集,當我在使用Smo Assemblies的設置中調用ExecuteNonQuery函數時,此錯誤「混合模式程序集是針對運行時版本」v2.0.50727「構建的,無法在4.0運行時加載,而無需其他配置信息。」但有時它在我的代碼正常工作,但有一段時間它會給出這個錯誤,我有完全褪色與這個錯誤,我已經使用相同的類,相同的方法有時它運行正確,我找不到任何理由,我也想知道SMO程序集是否可用.Net framework v4.0?.Net Framework 4.0中的SMO程序集

回答

3

爲什麼使用「SMO程序集」調用ExecuteNonQuery?

爲什麼不只是引用和使用ADO.NET?見System.Data.SqlClient.ExecuteNonQuery(...)

+11

這可能與此特定OP無關,但當您要調用[ServerConnection.ExecuteNonQuery()]時需要SMO庫(http://msdn.microsoft.com/query/dev11.query?appId= Dev11IDEF1&升= EN-US&K = K(Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery); K(SolutionItemsProject); K(TargetFrameworkMoniker-.NETFramework,版本%3Dv4.0); K(DevLang-CSHARP)RD =真)這使您能夠運行帶有* GO *關鍵字的sql腳本。 – slugster 2012-12-17 10:26:41

+0

我嘗試過ADO(以及下面的答案中使用的方法)並使其工作。我可能會堅持使用它,因爲我擔心useLegacyV2RuntimeActivationPolicy =「true」的副作用。 – MikeMalter 2013-08-09 21:45:31

0

我自己也遇到了這個問題,並在添加上述標籤(見@jimasp評論)似乎沒有工作,但是,我已經把它添加到的app.config該項目的代碼是位於,但是,它被用作p控制檯應用程序的藝術。當我將它添加到控制檯的app.config時,它運行時沒有任何問題。我一直把它添加到錯誤的app.config。

相關問題