ASP.NET MVC: как я могу добавить представления, сценарии и файлы содержимого в качестве ссылок для совместного использования в проектах? (Через "Добавить как ссылку" в VS) - PullRequest
9 голосов
/ 28 февраля 2011

У меня есть общий файл Layout.cshtml, которым я хочу поделиться.Когда я добавляю файл как ссылку в проект (через «Добавить существующий элемент»> «Добавить как ссылку»), я получаю сообщение об ошибке, что его невозможно найти при запуске приложения.Если я устанавливаю действие сборки «Копировать всегда», оно копирует файл в каталог сборки, однако я все равно получаю сообщение об ошибке, что не может найти файл (возможно, я могу каким-то образом дать команду VS скопировать его в соответствующий каталог?).

Я сталкивался с таким вопросом: Проекты ASP.NET 2 для совместного использования одних и тех же файлов однако ответы довольно сложные и некрасивые, и сейчас я играюсь с множеством различных структур иметоды рефакторинга, поэтому я не хочу проходить какую-то большую работу, просто перемещая несколько разных файлов.

Так как же я могу легко обмениваться файлами такого типа между двумя приложениями?

Спасибо!

Ответы [ 3 ]

1 голос
/ 28 февраля 2011

Вы не можете Добавить как ссылку статические файлы в веб-приложении ASP.NET.Все файлы должны быть включены в это приложение, или когда вы развернете его в IIS, просто не сможете найти ни одного из них.Распространенный метод обмена статическими файлами между несколькими веб-приложениями - использование CDN (Content Delivery Network), где вы размещаете все свои статические ресурсы (изображения, CSS, js, ...).Например, Google уже предоставляет популярных фреймворков на своих CDN.

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

0 голосов
/ 28 февраля 2011

Кто-то может предложить вам лучшее решение, но мой подход будет следующим:

 1 - Create a library project
 2 - Create a Resources file in the library project
 3 - Add the shared resources to the library project.
 4 - Compile the library project
 5 - Reference the DLL for the library project in the dependent projects 
0 голосов
/ 28 февраля 2011

Похоже, это ошибка в msbuild или неподдерживаемая функция. В любом случае, я наконец нашел решение, опубликованное в блоге этого парня:

http://consultingblogs.emc.com/jamesdawson/archive/2008/06/03/using-linked-files-with-web-application-projects.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...