私は 2 台の Windows マシンを持っています。Machine1 には Visual Studio 2010 があります。Machine2 には、Visual Studio または .NET Framework SDK を含まない .NET Framework 4.0 クライアント プロファイルのみがあります。
1 つの単純な C# テストをコンパイルします (test.cs には "using System.Data;" が含まれています):
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /target:exe test.cs
Machine1 で正常に動作します。しかし、Machine2 では次のように失敗しました。
test.cs(2,14): error CS0234: The type or namespace name 'Data' does not exist in
the namespace 'System' (are you missing an assembly reference?)
を現在のディレクトリにコピーし"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\System.Data.dll"
ましたが、それでも失敗しました。
コンパイルが機能する場合、「/r:system.data.dll」を追加しました。
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /r:system.data.dll /target:exe test.cs
その理由を知っていますか?