2013-10-25 4 views
0

Я слежу за блогом Scott Gutheries о том, как автоматически запускать приложение ASP.Net и иметь проблему с именами сборок.app_code find assemblyqualifiedname класса

Во-первых, веб-сайт, который я следующее:

http://weblogs.asp.net/scottgu/archive/2009/09/15/auto-start-asp-net-applications-vs-2010-and-net-4-0-series.aspx

Я добавил следующий код в мой конфигурационный файл applicationHost, и, как вы уже догадались, это не работает из-за типа определение.

<serviceAutoStartProviders> 
     <add name="PreWarmMyCache" type="MyWebSiteName.PreWarmCache, MyWebSiteName" /> 
</serviceAutoStartProviders> 

Я охотился за решением и натолкнулся на этот аккуратный код.

Dim _a as New MyApp.PreWarmCache() 
_a.GetType().AssemblyQualifiedName 

Это приводит к следующему результату.

"MyApp.PreWarmCache, App_Code.<#########>, Version=0.0.0.0, Culture=neutral, PublickKeyToken=null" 

Моя проблема возникает из-######### в приведенном выше имени сборки, как он уникален каждый раз, когда он запускается, и поэтому я не могу использовать его в файле applicationHost выше.

Есть ли способ установить это значение, поэтому значение становится фиксированным и не изменяется?

ответ

0

Если вам нужен контроль над именем сборки и номером версии, созданной для сайта, вы должны использовать проекты веб-приложений вместо проектов веб-сайта в Visual Studio. Вы можете прочитать о двух типах проектов на msdn: Web Application Projects versus Web Site Projects in Visual Studio.

С проектом приложения имя сборки не изменяется для каждой сборки, и вы можете легко ссылаться на сборку.

Чтобы перейти от одного типа проектов к другому, вы найдете советы здесь: Converting a Web Site Project to a Web Application Project

Смежные вопросы