На моей рабочей станции Windows 7 у меня установлено множество компиляторов, включая MSVC9 и MSVC10.Недавно я заметил следующую странную проблему, которая возникает только в моей среде MSVC10.
В моей оболочке MSVC9 (я использую одну из меню «Пуск») запуск csc.exe
показывает, что он использует компилятор C # 2008 версии 3.5..30729.4926 (.NET 3.5).В оболочке MSVC10 это версия компилятора 4.0.30128.1.Теперь, следующий небольшой пример программы собирается с csc.exe
от MSVC9, но он не работает с MSVC10:
using System;
using System.Windows.Automation;
namespace UIAutomationTest
{
class Program
{
static void Main()
{
}
}
}
Я использую следующую командную строку (с MSVC9, а также MSVC10) для сборки программы:
csc Hello.cs /r:UIAutomationClient.dll /nologo
В MSVC9 это успешно (вывод не печатается и Hello.exe
создается).С MSVC10 сборка завершается неудачно с этим сообщением об ошибке:
C:\src>csc Hello.cs /r:UIAutomationClient.dll /nologo
error CS0006: Metadata file 'UIAutomationClient.dll' could not be found
Кто-нибудь знает, почему это так?
ОБНОВЛЕНИЕ: Я заметил, что могу заставить сборку работатьс MSVC10, если я изменю командную строку так, чтобы /r:UIAutomationClient.dll
стал /r:WPF\UIAutomationClient.dll
.