1

在我的 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.

4

1 回答 1

0

这个 UIAutomationClient.dll 文件相对于你的 cs 文件位于哪里?

尝试传递 UIAutomationClient.dll 的完整路径。

于 2011-02-21T08:51:21.497 回答