Я в курсе следующих двух различных типов веб-проектов в Visual Studio 2008:Возможно ли, чтобы проект веб-сайта ссылался на подписанную сборку в визуальной студии?
- проекта Сайт
- Веб-приложение Проект
Проект веб-приложения могут ссылаться на подписанную сборку как пока сборка веб-приложения также подписана с тем же ключом. Однако это не работает с проектом веб-сайта, потому что нет места для подписи сборки. Я думаю, это связано с тем, что сборка динамически скомпилирована на сервере?
В любом случае, возможно ли, чтобы проект веб-сайта работал с этой подписанной сборкой? Или мне придется преобразовать этот проект веб-сайта в проект веб-приложения?
Edit:
Следующая ситуация потребовала меня просить разъяснений по этому вопросу:
У меня есть библиотека классов, которая в настоящее время ссылается на несколько других проектов в моем решении в Visual Studio. Одним из проектов является приложение Windows, которое будет развернуто для конкретных внешних пользователей. Чтобы убедиться, что приложение использует правильную сборку, а также не позволяет другим пользователям использовать сборку (я знаю об ограничениях в отношении ее эффективности), все сборки были подписаны и объявлены все классы в библиотеке как Друг (внутренний).
Проект веб-сайта, похоже, не имеет возможности подписать его сборку, и я получаю следующее сообщение при попытке использовать что-либо из библиотеки: «КЛАСС не оценивается в этом контексте, потому что это« Друг », », что и следовало ожидать.
следующие атрибуты внутри файла Assemblyinfo.vb в моей библиотеке классов проекта:
<Assembly: InternalsVisibleTo("OtherProject1, PublicKey=AAA...")>
<Assembly: InternalsVisibleTo("OtherProject2, PublicKey=AAA...")>
...
Мой Вывод:
Похоже чистейшей способ сделать это было бы преобразовать веб-сайт в веб-приложение, но для этого потребуется немного времени, так как наш сайт уже довольно близок и, как указано в других обсуждениях, может быть очень больно. Идя вперед, я думаю, что создание веб-приложения в первую очередь, возможно, было лучшей идеей и гораздо более гибкой для будущего развития.
Я добавил подписанную сборку в качестве ссылки. Попытавшись получить что-либо в сборке (которая является библиотекой классов), я получу следующее сообщение: «КЛАСС не оценивается в этом контексте, потому что это« Друг ». Это то, чего я ожидаю, поскольку сборка этого сайта не подписана (поскольку ее нет). Просто интересно, есть ли что-то, что я могу сделать, чтобы заставить их обоих работать, или это просто ограничение проекта веб-сайта. – Michael
yep, я нахожу, что ограниченные преимущества, которые вы получаете с веб-сайта (в основном не нужно предварительно компилировать сайт для его отладки), быстро перевешиваются этими видами болей. –