在哪里可以找到Visual Studio中尚未提供的Microsoft程序集?

时间:2020-03-06 14:26:40  来源:igfitidea点击:

我认为有人可以普遍回答这个问题,但是如果有人想具体说明,我会尝试使用:

使用System.Web.Security.SingleSignOn;
使用System.Web.Security.SingleSignOn.Authorization;

我用尽了全力以赴,这是我找到的最接近的答案:

"我们在离线状态下进行了讨论,但看起来ADFS程序集是GACed,但是
未安装在文件系统上或者未在VS.NET中注册,因此它显示
在.NET标签中我猜MS可能需要加强安装程序
这种情况。同时,我们可能需要自己执行此操作。"

到底该怎么办?

解决方案

对于使用特定环境(例如SharePoint对象模型)的项目,建议使用安装在GAC程序集中的虚拟PC。 ADFS程序集应仅具有Win服务器。如果找到它们并在工作环境(桌面)中手动安装,则可能会发生一些可能性(例如调试)。

我们可以在此文件中找到指定的命名空间:system.web.security.singlesignon.claimtransforms.dll

但是该文件通常不可用,而仅安装在GAC(全局程序集缓存)中。我们可以在以下位置找到它c:\ window \ assembly ...并将dll复制到另一个路径。然后,我们可以在Visual Studio中手动引用它。

我发现了一个安装日志,显示它应该在其中

C:\WINDOWS\ADFS\System.Web.Security.SingleSignon.dll

在Windows Server 2003上。我们可能需要安装活动目录才能在其中显示该目录,因为我检查了我的一台没有AD的2003服务器,并且该目录不存在。

通常,我猜该DLL将在系统范围的Global Assembly Cache(GAC)中注册,因此我们不必知道其实际路径。如果程序集已在GAC中注册,则可以通过打开"添加引用"对话框并单击" .NET"选项卡来添加对它的引用。

如果试图将程序集添加到Visual Studio"添加引用"对话框的" .NET"选项卡中,则需要进行注册表设置。 KB30149对其进行了更详细的说明。简短版本:我们需要向" HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ .NETFramework \ AssemblyFolders"注册表项中添加一个条目。

如果我们要在GAC中查找与程序集相对应的物理文件,请转到命令提示符,然后转到"%WINDIR%\ Assembly"(例如," C:\ WINDOWS \ Assembly")。浏览GAC程序集所在的地方。