Я изучил много от Лучшие практики NHibernate с ASP.NET, 1.2nd Ed. Billy McCafferty . Я не реализовал или согласился со всеми методами там, но большинство из них было довольно полезно. Это действительно получило меня думающий о деталях всего этого, прежде чем я начал реализовывать.
Вы уверены, что не можете просто запустить cl.exe без каких-либо данных, чтобы сообщить о своей версии?
Я только что протестировал запуск cl.exe в командной строке для VS 2008, 2005 и .NET 2003, и все они сообщили о своей версии.
Для 2008 года:
d: \ Program Files \ Microsoft Visual Studio 9.0 \ VC> cl
Microsoft (R) 32-bit C / Оптимизирующий компилятор C ++ версии 15.00.30729.01 для 80x86
Для 2005, SP 1 (добавлены классы Safe Standard C ++):
C: \ Program Files \ Microsoft Visual Studio 8 \ VC> cl
Microsoft (R) 32 -битный оптимизирующий компилятор C / C ++ версии 14.00.50727.762 для 80x86
Для 2005 года:
C: \ Program Files \ Microsoft Visual Studio 8 \ VC> cl
Microsoft (R) 32-разрядная оптимизация C / C ++ Версия компилятора 14.00.50727.42 для 80x86
Для .NET 2003:
32-разрядный оптимизирующий компилятор C / C ++ Microsoft (R) версии 13.10.6030 для 80x86
РЕДАКТИРОВАТЬ
Для 2010 года это будет примерно следующее:
Microsoft (R) 32-разрядный оптимизирующий компилятор C / C ++ версии 16.XX.YYYYY.ZZ для 80x86
или в зависимости от целевой платформы
Оптимизирующий компилятор Microsoft (R) C / C ++ версии 16.XX.YYYYY.ZZ для x64
На 2012 год:
Оптимизирующий компилятор Microsoft (R) C / C ++ версии 17.XX.YYYYY .ZZ для $$$
, где $$$ - целевая платформа (например, x86, x64, ARM), а XX, YYYYY и ZZ - дополнительные номера версий.
Для 2013:
Microsoft (R ) Оптимизирующий компилятор C / C ++ версии 18.XX.YYYYY.ZZ для $$$
, где $$$ - целевая платформа (например, x86, x64, ARM), а XX, YYYYY и ZZ - второстепенные номера версий.
На 2015 год:
Оптимизирующий компилятор Microsoft (R) C / C ++ версии 19.XX.YYYYY для $$$
, где $$$ - целевая платформа (например, x86, x64, ARM),а XX и YYYYY - дополнительные номера версий.
Просто запустите его без параметров.
P:\>cl.exe
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
usage: cl [ option... ] filename... [ /link linkoption... ]
Попробуйте:
cl /v
Фактически, каждый раз, когда я даю cl аргумент, он выводит номер версии на первая строка.
Вы можете просто передать ему мусорный аргумент, а затем проанализировать первую строку вывода, которая содержит номер версии.