1

我刚刚在 GAC 上安装了两个库,我试图在一个简单的应用程序中使用它们,我只调用我的方法的构造函数:

  MyMethod m = new MyMethod();

当我尝试运行.exe我的应用程序时,我可以在任务管理器进程中看到它,但它没有加载。

如果我提升可执行文件的权限,那么简单的应用程序会出现在任务管理器上,并且还会加载. 但是,为什么我需要为使用 GAC 程序集的应用程序授予管理员权限?这是第一次发生在我身上。

如何在不请求管理员权限的情况下使用 GAC 程序集?

我想我有 GAC 阅读权限,因为我可以阅读旧版本,但不能阅读新版本...

编辑: *我意识到,如果我停留几分钟,.dll就会消耗掉并且应用程序运行。但是每次我需要在 GAC 上安装的程序集时,都会有很大的延迟。*知道为什么吗?

编辑: 对不起,我没有说它是哪个库,因为它被称为UserControlLibrary.dll,我开发了它。我的一些旧项目中使用了我的库的旧版本。

为了使用新版本,我发布了从旧版本程序集重定向到新版本的策略。

注意:使用旧版本可以正常工作。使用新的,不起作用(重定向后)。

4

1 回答 1

0

您能否更具体地了解哪些程序集以及您的代码试图做什么?...

给予管理员权限有点笼统......更有可能需要您没有提供的特定权限......

例如,这里有一些关于SharePoint的相同问题的小故事,其中 SSRSSvcAccount 帐户没有 GAC 的读取权限,已使用解决

cacls.exe %windir%/assembly /e /t /p DOMAIN\SSRSSvcAccount:R
于 2013-06-07T10:02:14.190 回答