Мое приложение .NET работает как плагин к настольному приложению C ++ MFC, которое предоставляет .NET SDK. Основное приложение отвечает за загрузку .NET, прежде чем оно загружает какие-либо плагины. Я компилирую свой проект под .NET 3.5, и следующий тестовый код работает просто отлично:
MainApp.WriteLine("MyPlugin running on .NET {0}.{1}", _
System.Environment.Version.Major, _
System.Environment.Version.Minor)
Dim data As Int32() = New Int32() {1, 1, 1, 1, 4, 4, 4, 4, 12, 12, 12, 12}
For Each distinctValue As Int32 In data.Distinct()
MainApp.Write(distinctValue.ToString() & ", ")
Next
Это код Linq, который должен работать только на .NET 3.5, верно? Однако, когда он печатает сообщение о версии, он утверждает, что «MyPlugin работает на .NET 2.0»
Почему / Как это работает, и можно ли рассчитывать на его постоянную работу, если установлен .NET 3.5?