【问题标题】:How to show a reference of the shared assembly in the .net add reference dialog window?如何在 .net 添加引用对话框窗口中显示共享程序集的引用?
【发布时间】:2011-09-06 03:42:42
【问题描述】:

问:

我创建了一个 dll 并将其放入全局程序集缓存 (GAC),现在我想在我的应用程序中使用这个 dll,但我看不到任何对它的引用。 什么时候 Add reference ----> dialog window --->no reference 我的共享程序集。我没有看到任何参考。

如何解决这个问题。

要制作我的共享程序集,我执行以下操作:

1-右键单击我的项目文件--->属性--->签名选项卡--->选择一个强名称。

2- 在AssemblyInfo.cs 文件中添加这一行

[assembly: AssemblyKeyFile("C:\\Users\\just_name\\Downloads\\New folder\\testingGAC\\testingGAC\\key.snk")] 然后构建解决方案。

3- 将testingGAC.dll 文件拖到我的 c:\ 中的程序集文件夹中

这些步骤有什么问题吗。

提前致谢。

【问题讨论】:

    标签: .net asp.net visual-studio dll shared-libraries


    【解决方案1】:

    引用列表实际上并不适用于 GAC - HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\AssemblyFolders 中有一个注册表项,用于控制在创建此列表时查看哪些文件夹。

    这个link 有完整的进程内幕

    【讨论】:

    • 非常感谢。 C:\Users\just_name\Downloads\New folder\testingGAC\testingGAC\bin\Debug我忘了写这部分\bin\Debug
    • 不用担心 - 我第一次遇到它时花了很长时间才弄清楚!
    • 拜托,如果我想修改共享的汇编代码,然后构建,删除并添加引用到我的应用程序。没有变化,如何将dll中的变化反映到使用这个dll的应用程序中。
    • 您只需要更新参考吗?如果您仍在开发,那么您可能希望(暂时)在您的解决方案中包含共享程序集并将其作为项目引用 - 共享位置最适合构建和测试程序集。
    • 听起来这变成了一个新问题。
    【解决方案2】:

    您需要向 GAC 注册您的程序集:

    gacutil /i AssemblyFileName.dll

    您可以将其从 GAC 中删除:

    gacutil /u AssemblyFileName.dll

    【讨论】:

    • Failure adding assembly to the cache : the system can't find the file specified. 直接写入程序集文件名时。 unknown option: ....... 写入 dll 的完整路径时。
    【解决方案3】:

    您需要使用Global Assembly Cache Tool (Gacutil.exe) 将程序集安装在 GAC 文件夹中

    接下来安装/注册程序集,然后按照以下步骤添加引用:

    展开项目,然后右键单击“引用”项。在弹出的菜单中选择“添加引用”,弹出“添加引用”对话框。

    要在 GAC 中引用程序集,只需 单击浏览按钮并浏览 到目录(myGAC/bin/debug) 包含程序集 (myGAC.dll)。找到装配体, 选择它,然后单击确定。

    查看本文了解详情:How do I create shared assemblies ?

    【讨论】:

    • Failure adding assembly to the cache : the system can't find the file specified. 直接写入程序集文件名时。 unknown option: ....... 写入 dll 的完整路径时。
    • You can install the .dll file by using the Gacutil tool or by dragging the .dll file to the appropriate folder.我拖动.dll文件。
    猜你喜欢
    • 2012-03-13
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    相关资源
    最近更新 更多