MSBuild 4を使用してソリューションをビルドすると、正常にコンパイルされます。
C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ MSBuild.exe MySolution.sln
ビルドに成功しました。
0 Warning(s) 0 Error(s)
しかし、MSBuild 3.5を使用して同じことを行おうとすると、ソースが同じで、同じライブラリと同じバージョンの.NET Frameworkを使用している場合でも、次のエラーが発生します。
C:\ Windows \ Microsoft.NET \ Framework \ v3.5 \ MSBuild.exe MySolution.sln
エラーCS1501:メソッド「InitializeClientContextFromStringSid」のオーバーロードは「2」引数を取りません
エラーCS1501:メソッド「GetRoles」のオーバーロードは「0」引数を取りません
発生するエラーは、Authorization Manager(AzMan)に関連しています。
最初のエラーのメソッド'InitializeClientContextFromStringSid'は、Microsoft.Interop.Security.AzRolesのメンバーであるパブリックインターフェイスIAzApplicationに属しています。
2番目のエラーのメソッド'GetRoles'は、Microsoft.Interop.Security.AzRolesのメンバーでもあるパブリックインターフェイスIAzClientContextに属しています。
私は次の方法でメソッドを使用しています:
var clientContext = _azApplication.InitializeClientContextFromStringSid(member, 0);
ここで、変数memberは、ユーザーからのWindows Active Directory SIDを含む文字列であり、_azApplicationはタイプIAzApplicationです。
clientContext.GetRoles()
ここで、clientContextのタイプはIAzClientContextです。
同じバージョンの.NETFramework(3.5)をターゲットにしているのに、ソリューションがMSBuild 4でビルドされるのに、MSBuild 3.5ではビルドされないのはなぜですか?