В динамически скомпилированном проекте веб-сайта ASP.NET можно ли явно указывать сборку для папки App_Code?Укажите имя явной сборки для папки App_Code с динамически скомпилированной ASP.NET-страницы?
Например, в обычных условиях, когда я запустить веб-сайт ASP.NET имя сборки генерируется в папку Temporary ASP.NET Files\
частично рандомизированное, как App_Code.neizakfo.dll
, где neizakfo представляет собой часть, которая может отличаться. Могу ли я указать имя для сборки, например App_Code_Web1.dll
?
Разъяснение
По требованиям бизнеса, веб-сайт не может быть прекомпилирован/развернут. Поэтому я ищу решение в контексте папки Temporary ASP.NET Files
и динамически скомпилированных сборок, как указано выше.
фон:
Я наткнулся на этот вопрос, ища способ выполнения динамического типа экземпляра на классе в App_Code папке веб-сайте с помощью сборочного-квалифицированного имени, хранящегося в конфигурации, но инстанцирован с веб-страницы, тем самым пересекая границу сборки. Поскольку по умолчанию веб-страница и код app_code скомпилированы в две разные сборки, поведение метода Type.GetType (..) по умолчанию для поиска имени типа либо в текущей исполняющей сборке (веб-странице), либо в mscorlib не достаточно для выбора любого типа из сборки App_Code. Будучи рандомизированным, имя сборки app_code неизвестно для меня, чтобы включить в строку, соответствующую сборке.
Я могу поместить данные типа в библиотеку классов (потому что у этого есть предопределенное/точное имя), чтобы избавиться от этой проблемы, однако я хотел бы знать, как это сделать на самом веб-сайте, не создавая класс библиотеки для этой цели.
Сортировка. См. Http://msdn.microsoft.com/en-us/library/bb398860.aspx#PreCompilingToFixedNameAssemblies. Я предпочитаю веб-приложения, так как это поведение намного лучше определено. То, что вы хотите сделать, тривиально в проекте веб-приложения. – dash