2009-02-18 2 views
0

В настоящее время разрабатывается ASP.NET WebApplication с VS2008. Я прекратил разработку в течение нескольких недель, и когда я вернулся, в моем проекте проявилась следующая проблема:Asp.net Dev Server использует неправильную версию фреймворка?

Весь проект компилируется (все нацелены на Framework3.5SP1). Однако, когда я запускаю его (с помощью ASP.NET Development Server), я получаю сообщение (из браузера) о том, что произошла ошибка компиляции «Сообщение об ошибке компилятора: CS0234: Тип или имя пространства имен« DirectoryServices »не существует в namespace 'System' (вам не хватает ссылки на сборку?) "

В нижней части страницы с информацией об ошибке: Информация о версии: Microsoft .NET Framework Версия: 2.0.50727.3053; ASP.NET Версия: 2.0.50727.3053

Сервер использует .NET Framework Version 2? Но все мои проекты нацелены на 3,5

Есть ли простой способ предотвратить это?

Я хотел бы добавить:

повторно установлен .NET Framework версии 3.5 + sp1, по-прежнему такой же вопрос. Важно отметить, что я не использую полномасштабный IIS, просто «сервер разработки Asp.net», поставляемый с VS2008. (CTRL + F5/Launch)

ответ

4

Причина, по которой .NET 3.5 не является самостоятельной базой, например, v2.0 или v1.1. Это просто расширение рамки 2.0. Расширение предоставляет разработчикам новые языковые функции, такие как Анонимные типы, Методы расширения, Лямбда-выражения и, конечно, LINQ .... и AJAX теперь интегрированы. Поэтому вы просто используете 2.0 в IIS.

Вы должны попытаться установить .NET Framework 3.5 на этом сервере, сервер IIS автоматически будет использовать правильную версию.

С уважением, Семе

+0

повторно установлен .net каркас версия 3.5 + sp1, все тот же выпуск. Важно отметить, что я не использую полномасштабный IIS, просто «сервер разработки Asp.net», поставляемый с VS2008 – slither

+0

, просто мысль, но вы можете попробовать добавить System.DirectoryServices к вашему приложению. Иногда VS думает, что он скопировал его, но просто не сделал этого. Я просто попробовал это на своей машине, и это работает, но мне нужно обратиться к System.DirectoryServices. – user29964

+1

Эй, спасибо за эту идею. Я только что нашел, что ссылка на System.DirectoryServices была «Копировать локально = False». превратил это в «Копировать локальное = True», и теперь он работает отлично! :) – slither

0

Просто гадать здесь. Может ли быть, что один из ваших машин разработки или сервера обновлен до .Net 3.5 SP1, а другой нет?

+0

no. все на одной машине. – slither

0

Скорее всего, вы машинный web.config ссылается на 2.0. Вы можете перенастроить его на 3.5 через консоль управления IIS. Или вы можете изменить элемент сборки < в своем web.config, чтобы добавить < clear /> и explixitly указать < добавить сборку> для каждой сборки 3.5.

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