2014-12-12 4 views
1

Я пытаюсь выяснить, как на самом деле демонстрируются ссылки на сборку в развернутой файловой структуре веб-сайта ASP.NET, работающего на IIS.Добавить ссылку на сборку на сайт ASP.NET с развертыванием

Это упражнение в понимании того, что Visual Studio фактически делает за кулисами

Узел, который я выбрал в качестве испытуемого является System.IO.Compression.FileSystem, так как это, кажется, не ссылаться по умолчанию в проекте ASP.NET (попытки использовать его компоненты всегда приводят к «Недостают ли ссылки на сборку?», даже если в файле используется оператор using для соответствующего пространства имен System.IO.Compression)

So У меня есть небольшой пример кода, который пытается использовать эту сборку, сидящую на сервере IIS, и я хочу добавить ссылку на место в развертывание без открытия Visual Studio

Я думаю, что я очень близок к ответу с помощью IISManager -> [[SITE_NAME]] ->. NET Compilation-> General-> Assemblies, но ничего, что я добавляю в этот список, похоже, работает, я всегда получаю назад «Система не может найти указанный файл», также если я правильно понял документацию, запись «*» должна загружать все, но, похоже, не делает этого

ответ

0

я получил ответ сам, в конце концов, детали следовать в интересах будущих читателей

IISManager -> [[SITE_NAME]] -.> NET Compilation-> Общие-> Сборки действительно правильное место для этого он не работал, потому что я ошибся PublicKeyToken

Список сборок также можно найти в главном файле web.config для вашего сайта в конфигурации-> system.web-> compilation-> assemblysies

вам нужно найти сборку, которую вы хотите ссылаться в GAC на Windows/Microsoft.NET/сборка и открыть ее папку, вставить ide будет другой папкой с версией и ключом, который нужно положить в

0

Когда вы ссылаетесь на ссылки и using заявления, вы он объединяет две разные вещи.

Ссылки - это сборки, на которые указывает ваша сборка. Если вы используете декомпилятор (например, Telerik JustDecompile), вы можете увидеть сборки, которые вы указали в качестве ссылок в Visual Studio.

«Использование» - это ярлык кода, который позволяет вам ссылаться на классы без их полной квалификации. Если вы добавили (в проекте MVC, например) using System.Web.Mvc; вы можете написать:

public ActionResult Index() 
{ 
    throw new NotImplementedException(); 
} 

Без using заявления, вы должны написать:

public System.Web.Mvc.ActionResult Index() 
{ 
    throw new NotImplementedException(); 
} 

Оба указанных выше воли результат в том же скомпилированном байт-коде; заявление using чисто для того, чтобы сделать вашу жизнь проще как разработчик.

+0

Я понимаю разницу, я просто хочу знать, как ссылки отображаются на сайте ASP.NET после его развертывания и вдали от Visual Studio. Visual Studio не может иметь прямого упоминания в компиляции сайта ASP.NET, потому что это обрабатывается IIS или эквивалентом, поэтому что он делает, чтобы сообщить, что сервер должен включить в сборку другую сборку? – user3498178

Смежные вопросы