Как мне сослаться на конкретную c сборку из EmbeddedResourceVirtualPathProvider? - PullRequest
0 голосов
/ 10 января 2020

Я использую 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? Спасибо!

...