Различия в добавлении ссылок в Visual Studio - PullRequest
1 голос
/ 10 января 2012

Мне нужны рекомендации по добавлению ссылок в Visual Studio 2010.

Метод № 1 Скажем, я создал проект веб-сайта ASP.NET 4.

В Solution Explorer , есть кнопка Properties , я нажал на нее. Появились страницы свойств, 1-й вариант слева - « References ». Я нажал «Добавить» и выбрал несколько ссылок, например, Microsoft.IdentityModel. Затем я нажал Ok. Затем я создаю сайт, и, наконец, я опубликовал сайт. Я просматриваю папку, в которой находятся опубликованные коды (все еще на том же компьютере), я не вижу Microsoft.IdentityModel.dll внутри папки bin.

Метод № 2 Скажем, я создал проект веб-сайта ASP.NET 4.

В Solution Explorer , я добавляю папку ASP.NET> bin Я щелкнул правой кнопкой мыши по папке bin, добавил существующий элемент и перешел в папку, содержащую Microsoft.IdentityModel.dll (C: \ Program Files \ Справочные сборки \ Microsoft \ Windows Identity Foundation \ v3.5 \ Microsoft.IdentityModel.dll ) Затем я создаю сайт, и, наконец, я опубликовал сайт. Я просматриваю папку, в которой находятся опубликованные коды (все еще на том же компьютере), я вижу Microsoft.IdentityModel.dll внутри папки bin.

Предполагая, что позже у меня есть некоторые коды, которые используют этот библиотечный файл, так в чем же существенные отличия от двух методов? Как это повлияет на публикацию веб-сайта на сервере, на котором не установлена ​​среда выполнения Windows Identity Foundation?

Ответы [ 2 ]

1 голос
/ 10 января 2012

Используя метод 1, вы добавляете ссылку из GAC . Это означает, что сборку можно разрешить и загрузить из GAC, и нет необходимости копировать ее в папку bin.

Используя метод 2, вы добавляете ссылку непосредственно в dll. Это всегда приведет к копированию сборки в папку bin.

0 голосов
/ 10 января 2012

Список ссылок, предлагаемых Visual Studio на вкладке Ассембли, относится к .Net dll, зарегистрированному на вашем компьютере (в глобальном кэше сборок или GAC). В этот список входят компоненты инфраструктуры .Net, а также все компоненты, которые вы, возможно, установили на своем компьютере и которые развернуты в GAC (т. Е. Enterprise Library, NUnit и т. Д.). Всегда предпочтительно ссылаться на dll, которая находится в GAC (если это его место), а не на папку установки (то есть: «программные файлы / nunit / bin / nunit.dll»), чтобы избежать проблем с версией или отсутствия ссылок ,

...