我正在使用Microsoft SQL Server Management Studio CLR将.dlls作为程序集注册到数据库中。现在,我正在将Jayrock (Jayrock.dll,Jayrock.Json.dll) DLL注册到数据库中。这是一个正在进行的项目,有几个人编辑数据库和SQL代码。我丢弃了所有经过修改(和未修改)的程序集和过程,从头开始。当我要删除"web“的程序集时(代码如下)
CREATE ASSEMBLY Web
AUTHORIZATION dbo
FROM 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Web.dll'
WITH PERMISSION_SET = UNSAFE
GO我得到了错误消息:
DROP ASSEMBLY failed because the specified assemblies are referenced by assembly 'Jayrock.Json'.我从来没有过一个名为Jayrock.Json的程序集,我的团队中也没有人创建过这样的程序集。尝试删除它时,会从此问题的标题中获得错误消息:
drop assembly Jayrock.Json
go
"DROP ASSEMBLY" does not allow specifying a schema name as a prefix to the assembly name.我添加了‘’和(),这仍然不允许我删除此程序集。我已经删除了所有已创建的程序集,但"Web“仍然不会删除。我不太确定我能做什么,因为创建我需要使用Jayrock的程序集不起作用,因为它与'Jayrock.Json‘程序集相同。我的代码中存在某种错误,因为我从C#获得了与反序列化相关的异常,以及如果不能正确添加程序集就无法调试的缺失程序集。
发布于 2012-06-30 02:17:44
运行以下命令,查看是否有名为"Jayrock.Json“的程序集。
SELECT * FROM Sys.Assemblies WHERE name like '%Json%'如果这样做,就像Martin Smith在他的评论中所说的那样,您需要在DROP语句中的对象名称两边加上[]。
https://stackoverflow.com/questions/11085609
复制相似问题