在我的 Windows 7 工作站上,我安装了各种编译器 - 包括 MSVC9 和 MSVC10。我最近注意到以下仅在我的 MSVC10 环境中出现的奇怪问题。
在我的 MSVC9 shell(我使用开始菜单中的那个)中,运行csc.exe
显示它使用的是 C# 2008 编译器版本 3.5.30729.4926 (.NET 3.5)。在 MSVC10 shell 中,它是编译器版本 4.0.30128.1。现在,从 MSVC9 开始构建以下小示例程序csc.exe
,但在 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
.