0

我已经从 Visual Studio 向 Staging 和 Live db 实例发布了相同的 CLR 数据库函数,它们都存在于版本 11.0.2100.60 的同一个 MS SQL Server 上。

它们都安装得很好,但是当我在 Live 上运行相同的功能时,我收到以下错误消息:

Msg 6522, Level 16, State 1, Line 1
A .NET Framework error occurred during execution of user-defined routine or aggregate "RankWords": 
System.IO.FileLoadException: Could not load file or assembly 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) ---> System.IO.FileLoadException: The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
System.IO.FileLoadException: 

System.IO.FileLoadException: 
   at net.johnhenry.lib.search.SearchAndRankingHelper.RankWords(String original_text, String words_being_searched, Int32 min_search_words_length, Boolean is_default_behaviour_and, Boolean is_partial_match)
   at SqlClrExtension.UserDefinedFunctions.RankWords(String original_text, String words_being_searched, Int32 min_search_words_length, Boolean is_default_behaviour_and).

有什么建议吗?

4

1 回答 1

0

在花了一整天时间搜索有关该主题的最深奥的网站后,我最终设法解决了这个问题!:)

我一直在现有程序集的基础上重新发布,只是调整了一些设置,但是在执行此操作时,Visual Studio 不会生成整个 SQL 脚本来安装 CLR 代码,就像全新安装一样,但只有 VS 认为的 SQL 脚本已经改变。

解决方案是删除程序集及其所有依赖项并重新重新发布!

Visual Studio 的发布功能将生成安装 CLR 代码所需的整个 SQL 脚本,该代码解决了我怀疑是注册不当的库的问题。

.

于 2013-06-17T15:36:43.750 回答