1

私の Windows 7 ワークステーションには、MSVC9 や MSVC10 など、さまざまなコンパイラがインストールされています。最近、MSVC10 環境でのみ発生する次の奇妙な問題に気付きました。

MSVC9 シェル (スタート メニューから使用) で実行csc.exeすると、C# 2008 コンパイラ バージョン 3.5.30729.4926 (.NET 3.5) を使用していることがわかります。MSVC10 シェルでは、コンパイラ バージョン 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

それがなぜなのか誰か知っていますか?

更新:/r:UIAutomationClient.dllになるようにコマンド ラインを変更すると、ビルドを MSVC10 で動作させることができることに気付きました/r:WPF\UIAutomationClient.dll

4

1 に答える 1

0

この UIAutomationClient.dll ファイルは、cs ファイルに対して相対的にどこにありますか?

UIAutomationClient.dll のフルパスを渡してみてください。

于 2011-02-21T08:51:21.497 に答える