1

我为 Page 的 checkoutevent 创建了一个事件处理程序,并将 dll 放置在正确的位置并重新启动了 com+ 和 IIS。

在我的解决方案中,我添加了一个我自己的自定义 dll 并调用其中的一种方法。我收到错误“无法加载文件或程序集 'myassembly.dll'”,我尝试将自定义 dll 添加到保存事件处理程序 dll 的位置,并尝试将其放入 \bin 文件夹并重新启动 com+、iis。仍然收到相同的错误。

当我在事件处理程序中添加我的自定义 dll 时,我需要做更多的事情吗?

4

1 回答 1

4

您用于事件系统的 DLL 通过 Tridion.ContentManager.config 文件加载并由其位置引用。但是,不会检查此位置是否有可能的参考。

我相信遵循 .NET 标准,通常的方法是将引用的程序集放在 GAC 中,以便事件系统代码可以通过这种方式找到它们。

您的另一个选择是确保您的引用在您的事件系统程序集中编译。如果您有引用的源代码,您可以将它们包含在项目中,否则您可以使用ILMerge等后期构建工具将您的程序集组合到一个 DLL 中。

我认为我们过去经常做的最后一个是将您的参考资料放在 ..\Tridion\bin 文件夹中,但我不确定这在 2011 年是否仍然有效......

于 2012-08-06T09:20:32.547 回答