Ответ 1
Эта возможность встроена в Visual Studio с VS 2008 SP1 и также доступна в FxCop 1.36. Взгляните на сообщение в блоге David Kean для более подробной информации.
Поэтому иногда (часто!) вы хотите настроить таргетинг на определенную версию .NET(скажем, 3.0), но затем из-за некоторых пакетов обновлений .NET вы сталкиваетесь с такими проблемами, как:
Dispatcher.BeginInvoke(Delegate, Object[])
< - это было добавлено в версии 3.0 SP2 (3.0.30618)System.Threading.WaitHandle.WaitOne(Int32)
< - это было добавлено в 3.5 SP1, 3.0 SP2, 2.0 SP2Теперь они обнаруживаются компилятором JIT, поэтому построение против .NET 3.0 в Visual Studio не гарантирует, что оно будет работать только в системах .NET 3.0.
Недостаточно
какой лучший способ избежать использования расширений?
Спасибо!
Эта возможность встроена в Visual Studio с VS 2008 SP1 и также доступна в FxCop 1.36. Взгляните на сообщение в блоге David Kean для более подробной информации.
Наши продукты в настоящее время нацелены на .NET 3.5 SP1, и поэтому мы будем удивлены, чтобы найти целевую среду, по-прежнему использующую RTM.NET 3.5.
Был способ показать окна, которые используют .Net. Это что-то вроде создания файла с именем dllhost.exe.config В windows\system32 с xmllike:
<? xml version = "1.0" ?>
<configuration>
<startup>
<SupportedRuntime version = XXXXXX>
</startup>
</configuration>
Смотрите: http://msdn.microsoft.com/en-us/library/w4atty68.aspx
Прежде чем отправлять выпуск, скомпилируйте приложение с соответствующей версией Visual Studio, которая соответствует наименее общему знаменателю целевой целевой базы.
Просто держите виртуальную машину в готовности, которая имеет, скажем, Visual Studio 2005 без SP, и откомпилируйте решение оттуда до развертывания.
Помогает ли это: Versioning Controlled Build?