Используя VS 2010, могу ли я сослаться на проект, созданный в VS 2005? - PullRequest
1 голос
/ 13 января 2011

Вот загадка - что-то, что, как я предполагал, не работает (не удивительно).

У нас есть проект библиотеки, на который ссылаются в нескольких других проектах настольных приложений.Проект библиотеки написан на VS 2005 (.NET 2.0).

Моя проблема в том, что некоторые из наших приложений в настоящее время все еще живут в VS 2005 (по разным причинам).Кажется, я не могу ссылаться на этот библиотечный проект в VS 2010, не требуя, чтобы я обновил его до .NET 4, что, если я это сделаю, лишит меня возможности включать его в качестве ссылки в мои проекты VS 2005.

Этот тип жарит мой мозг.Есть ли способ, которым я могу сделать эту работу?

Ответы [ 4 ]

1 голос
/ 13 января 2011

Хм, это не имеет большого смысла. Вы не ссылаетесь на «библиотечный проект», вы ссылаетесь на DLL, которую он создает. Проект + Добавить ссылку, вкладка Обзор. Нет никакой известной проблемы с этим, в пределах точности 95%, у сборок смешанного режима есть несколько волосков.

Если вы на самом деле пытаетесь загрузить проект vs2005 в решение vs2010, то да, он попытается преобразовать файл проекта. И это превращает vs2005 в ужас, у него нет машины времени, чтобы угадать, как выглядит проект vs2010. Простое создание каталога проекта решает эту проблему.

0 голосов
/ 18 января 2011

По опции, это полная PITA, но она должна работать:

Создайте новый файл проекта в 2010 году, который включает в себя все, что имеет файл проекта 2005 года.Просто назовите это MyProject2010.csproj или как угодно.

Затем добавьте этот проект в решение 2010 года.

0 голосов
/ 13 января 2011

Используйте file ссылку на встроенную dll, а не ссылку на проект.

Возможно, вам также понадобится добавить дополнительный бит информации о совместимой платформе в ваш файл манифеста , чтобы сообщить .net разрешить вашему .exe использовать .net 4 и .net 2 сборки рядом друг с другом - если их там нет, вы просто получите ошибку при запуске. (Извините, я не могу вспомнить точные детали, и я сейчас не на своей рабочей машине, чтобы найти их - но если у вас возникают проблемы во время выполнения, сообщение об ошибке должно привести вас к точному решению, которое вам нужно)

Исправление: Я думал об этом параметре запуска 'useLegacy', который вам может понадобиться добавить в ваш app.config, если вы хотите использовать смесь сборок .net 2.0 и .net 4.0 в Ваша заявка:

<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
0 голосов
/ 13 января 2011

Можете ли вы изменить версию .NET обратно на 3.5 или 2.0 в VS.NET 2010 после того, как она пересмотрит версию проекта на .NET 4.0?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...