2009-06-11 2 views
7

У меня есть компонентный проект, построенный в VS2008 и предназначенный для .NET Framework 3.5. Недавно я загрузил бета-версию VS2010, чтобы убедиться, что этот проект будет правильно конвертироваться, когда придет время переключиться на новую среду IDE. Этот проект содержит ссылки на несколько сторонних DLL, построенных против версии 2.0 фреймворка. Я изменил свой проект, чтобы построить его против версии 4.0, но когда я пытаюсь построить проект, я получаю массу ошибок, которые выглядят так, как компилятор не может распознавать типы классов этих сторонних библиотек, похожих на то, что ниже.VS2008 для VS2010 преобразования проекта

«Тип или пространство имен имя„Data“не существует в пространстве имен„Microsoft.Practices.EnterpriseLibrary“(пропущена ссылка на сборку?)»

Я пытаюсь выяснить, почему я могу Компиляция. Из того, что я прочитал, .NET 4.0 использует другую версию CLR. Как и почему это повлияет на мою способность иметь доступ к этим типам? Я собираюсь придется

а) Получить исходный код и перекомпилировать в VS2010/.NET 4.0, а затем ссылаться на эту сборку или

б) Подождите авторов проекта, чтобы сделать «а» выше, и освободить их сборки нацелен на 4.0 CLR? или

c) Что-то еще, потому что, возможно, установка VS2010 установлена?

Я могу изменить свойства проекта на целевой 3.5, и все работает так, как я ожидаю, в среде IDE 2010 года.

+1

Мой опыт: VS2010 имеет серьезные проблемы при конвертировании проектов. –

ответ

1

Я хотел бы отметить этот вопрос как ответ и на основе комментариев и моих собственных опытов, я думаю, что Мехрдад прав в комментарии к вопросу и что это проблема преобразования проекта VS2010.

2

Я подозреваю, что это связано с тем, что .NET 4.0 использует CLR 4.0, а не 2.0. EL 4.1 будет построен против CLR 2.0, поэтому я не уверен, что ожидаю, что он будет найден без помощи.

+0

Я мог бы поклясться, что смог использовать 1.1 dll, когда начал использовать .NET 2.0 (VS 2005). У меня его больше нет, поэтому я не могу сказать наверняка. Я бы подумал, что эта ситуация параллельна этому. – sdanna

+0

Вы никогда не могли смешивать .NET 1.1 и 2.0. –

+0

Я только что получил очень старую версию Log4Net (например, от '01, runtime version v1.0.3705) и попробовал. Ориентируясь на 2.0 Framework, я был успешно скомпилирован. Позвольте мне пояснить, что у меня есть все версии фреймворка, установленные на моей машине, включая бета-версию для 4.0. У меня также был шанс на проект 4.0 без проблем. Я думаю, что мне придется сделать это, чтобы решить проблему конверсии, и немного углубиться в этот путь. – sdanna

2

Кажется, проблема с версией CLR для меня.

В настоящее время я рекомендую b) и/или просто скомпилировать версию v2.0/v3.5.

Любая конкретная функция, которую вы хотите использовать в версии 4.0?

+0

Одна из возможностей, с которыми я с нетерпением ждала, была возможность лучше управлять моими идентификаторами управления ASP.NET, чтобы сделать javascript менее суетным, когда вы настраиваете таргетинг на определенные элементы управления. – sdanna