Я использую EmbeddedResourceVirtualPathProvider и у меня есть два проекта:
/ Project1 - это C# MVC веб-приложение
/ Project2 - это просто набор вспомогательных классов , с некоторыми представлениями и JavaScript файлами
(обратите внимание, что у меня на самом деле есть несколько веб-проектов, которые будут обмениваться файлами из Project2 - я просто пытаюсь сохранить этот пример простым для подделки ...)
Я настроил EmbeddedResourceVirtualPathProvider в Project1 следующим образом, и он работает (мой сайт находит файлы, встроенные в DLL-библиотеку Project2 ...)
System.Web.Hosting.HostingEnvironment.RegisterVirtualPathProvider(new EmbeddedResourceVirtualPathProvider.Vpp {
// I assumethis path is relative from "/Project1/bin", where all the DLLs are after running the site...?
{ typeof (AssemblyIdentifier).Assembly, @"..\..\Project2\bin\Debug" }
});
Моя проблема в том, что если я сделаю Изменения во что-либо в Project2 и создание только этого проекта, изменения не воспринимаются Project1 автоматически, как я думал, они должны были быть. Это также работает таким образом, независимо от того, какую строку пути я даю - и я пробовал несколько, например @"..\..\Project2\bin\Debug\Project2.dll"
, C:\Project2\bin\Debug
, и даже путь к папке, которая не существует - но, похоже, всегда используйте библиотеку DLL из папки bin Project1 (я полагаю, потому что она должна получать ее из где-то ...)
Как я могу настроить это так, чтобы я не нужно перестраивать и перезапускать мой веб-сайт каждый раз, когда я изменяю файлы в Project2? Спасибо!