Согласно документации, на любую сборку .NET можно ссылаться, но каждая зависимая сборка также должна быть зарегистрирована в базе данных (отображается в узле «Программируемость - сборки» в SQL Server Manager).Как только в базе данных SQL Server появятся зависимые сборки, они появятся в диалоговом окне «Добавить ссылку» в Visual Studio.
Этот код SQL ниже работает.Мне нужна была сборка System.Web.dll (вам нужна правильная версия, мой 2005 SQL - 64-битный)
CREATE ASSEMBLY [System.Web] AUTHORIZATION dbo
FROM 'c:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\System.web.dll'
WITH PERMISSION_SET = UNSAFE
Система попытается автоматически зарегистрировать зависимые сборки, но может делать это только из одного каталогакак файл, который вы пытаетесь зарегистрировать.В моем случае он также зарегистрировал следующие сборки в базе данных для правильной работы System.Web ...
System.Configuration.Install
System.Design
System.DirectoryServices
System.DirectoryServices.Protocols
System.Drawing
System.Drawing.Design
System.EnterpriseServices
System.Runtime.Remoting
System.Runtime.Serialization.Formatters.Soap
System.ServiceProcess
System.Web.RegularExpressions
System.Windows.Forms
Моя система использует 3.5 Framework, поэтому я не могу проверить импорт System.Web.Extensions.dll дляно для регистрации могут потребоваться другие сборки из другой папки, и, поскольку это сборка 4.0, она может ссылаться на некоторые сборки 2.0 или 3.5, находящиеся в другой папке.
Я подозреваю, что в итоге вы получитедовольно большой список импортированных сборок, чтобы заставить его работать, но это определенно возможно сделать.Эту операцию, вероятно, можно выполнить проще, если иметь одну папку со всеми зависимыми библиотеками в ней и зарегистрироваться оттуда.