В моем Visual Studio Extension мне нужно определить, является ли проект C ++ управляемым или неуправляемым кодом.
Ранее у меня был удовлетворительный метод, описанный в этой публикации в MSDNforum.
В этом примере необходимо было получить свойство ManagedExtensions активной конфигурации.
Sub Macro1()
Dim objProject As EnvDTE.Project
Dim objConfiguration As EnvDTE.Configuration
Dim objProperty As EnvDTE.Property
For Each objProject In DTE.Solution.Projects
objConfiguration = objProject.ConfigurationManager.ActiveConfiguration()
objProperty = objConfiguration.Properties.Item("ManagedExtensions")
System.Windows.Forms.MessageBox.Show(objProject.Name & " (" & objConfiguration.ConfigurationName & ") ManagedExtensions: " & objProperty.Value.ToString)
Next
End Sub
К сожалению, этот метод больше не работает для меня.
Для неуправляемых проектов я получаю исключение при попытке извлечь ActiveConfiguration.
Для управляемых проектов я могу получить ActiveConfiguration, но свойство ManagedExtensions недоступно.На самом деле, я думаю, что коллекция свойств пуста.
Существует ли новый способ распознавания неуправляемого проекта C ++?