我寫了一個asp.net web應用程序,它使用SMO對SQL Server 2008能夠運行一些數據庫腳本。它引用這些組件(在C:\ Program Files文件\ Microsoft SQL Server的\ 100 \ SDK \組件文件夾):找不到microsoft.sqlserver.batchparser.dll
Microsoft.SqlServer.ConnectionInfo
Microsoft.SqlServer.Management.Sdk.Sfc
Microsoft.SqlServer.Smo
的microsoft.sqlserver.batchparser.dll不在此文件夾中。 本地(32位機器,IIS7)我沒有問題。
當我發佈應用到我的託管服務提供商(discountasp.net,SQL Server 2008中,IIS7,32位也是如此),我得到這個錯誤:
Could not load file or assembly 'Microsoft.SqlServer.BatchParser, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.
我搜索我的本地機器,我不能找到這個程序集。然而,它在這臺機器上運行良好。
「Microsoft SQL Server 2008安裝發現報告」工具報告我在本地安裝了v10.1.2531.0。
感謝
當我嘗試安裝SMO時,安裝程序說我已經安裝了更高版本。由於我能夠從我的項目中引用Microsoft.SqlServer.Smo,我想這證實了它。 – 2010-10-20 19:09:35
@Nicolas:是的,你會在本地安裝。但是它不會安裝在您的託管服務提供商上,因此您遇到了問題。 – adrianbanks 2010-10-20 19:11:15
調用gacutil/l讓我看到batchparser在GAC中,但VS2010中的引用對話框不會顯示給我。手動進入GAC來提取程序集,它位於GAC_32文件夾中,而不是GAC_MSIL。無論如何,將此添加到反射器顯示它有一個參考Microsoft.VisualC ....很奇怪。 – 2010-10-20 19:15:12