我正在使用.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程序集
6
A
回答
10
這是一個已知的問題。 SMO對.Net 4.0的使用尚未被微軟簽署或公佈。
存在不支持選項來得到這個工作(添加到您的app.config):
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
3
爲什麼使用「SMO程序集」調用ExecuteNonQuery?
爲什麼不只是引用和使用ADO.NET?見System.Data.SqlClient.ExecuteNonQuery(...)
1
對於目前已經在.NET V4使用SMO真正的答案似乎是這裏的解決方法:
http://connect.microsoft.com/SQLServer/feedback/details/643811/net-4-0-compatible-smo
0
我自己也遇到了這個問題,並在添加上述標籤(見@jimasp評論)似乎沒有工作,但是,我已經把它添加到的app.config該項目的代碼是位於,但是,它被用作p控制檯應用程序的藝術。當我將它添加到控制檯的app.config時,它運行時沒有任何問題。我一直把它添加到錯誤的app.config。
相關問題
- 1. 如何在Net Framework 4.0中註冊程序集
- 2. 與使用2.0的程序集的.NET Framework 4.0
- 3. .Net Framework 4.0安裝程序是否包含.Net Framework 3.5?
- 4. 反射中的.NET Framework程序集
- 5. 使用混合模式程序集定位.net framework 3.5和4.0
- 6. .Net Framework 4.0 SDK
- 7. GacUtil + .net framework 4.0
- 8. .net Compact Framework 4.0
- 9. .net framework 4.0文檔
- 10. 針對.NET Framework 4.0
- 11. log4net和.net Framework 4.0
- 12. C#應用程序是用.Net Framework 4.0編寫的但它需要.Net Framework 4.6.2
- 13. .NET 4.0中.NET 2.0的Microsoft.Web.Service3的程序集是什麼?
- 14. .NET 4.0程序集可以用於.Net 3.5應用程序嗎?
- 15. C#4.0與.NET合併.dll程序集
- 16. .NET Compact Framework缺少程序集?
- 17. 的.NET Framework 4.0的應用程序從USB驅動器
- 18. 如何在.NET 3.5項目中引用.NET 4.0程序集
- 19. 4.0 .NET Framework中的所有通用集合/類型是什麼?
- 20. 在PowerShell 2.0中加載.NET 4.0 beta2程序集
- 21. .NET 3.5和4.0程序集奇怪的兼容性問題(NATUPnPLib)
- 22. .NET Framework 4.0中的Visual Basic 6.0
- 23. 升級到.Net Framework 4.0
- 24. Sharepoint 2010 Foundation with .Net Framework 4.0
- 25. 在Visual Studio 2010中找不到.net Framework 4.0或.net Framework 4.5
- 26. 如何在.NET 4.0應用程序中運行.NET 2.0程序集
- 27. GAC'ing 4.0程序集
- 28. 爲什麼部署.NET Compact Framework程序集會導致部署.NET Desktop Framework程序集?
- 29. 如何從SilverLight 4應用程序項目定位.NET Framework 4.0?
- 30. Windows窗體應用程序轉換爲.Net Framework 4.0至2.0
這可能與此特定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
我嘗試過ADO(以及下面的答案中使用的方法)並使其工作。我可能會堅持使用它,因爲我擔心useLegacyV2RuntimeActivationPolicy =「true」的副作用。 – MikeMalter 2013-08-09 21:45:31