Orchardcms Orchard如何解析模块中的引用?

Orchardcms Orchard如何解析模块中的引用?,orchardcms,orchardcms-1.6,Orchardcms,Orchardcms 1.6,文档(和)明显缺乏关于如何解析模块中引用的信息: 参考分辨率 (TODO:通过查看csproj文件的“references”部分以及每个模块“bin”目录中的附加程序集二进制文件,说明Orchard是如何计算引用的) 不幸的是,这正是我需要的信息。我创建了一个自定义模块,它引用了一个自定义的内部DLL。当我尝试使用此DLL中的类时,出现以下异常: 无法从程序集“Custom,Version=[Version],Culture=[Culture],PublicKeyToken=[token]”加载

文档(和)明显缺乏关于如何解析模块中引用的信息:

参考分辨率

(TODO:通过查看csproj文件的“references”部分以及每个模块“bin”目录中的附加程序集二进制文件,说明Orchard是如何计算引用的)

不幸的是,这正是我需要的信息。我创建了一个自定义模块,它引用了一个自定义的内部DLL。当我尝试使用此DLL中的类时,出现以下异常:

无法从程序集“Custom,Version=[Version],Culture=[Culture],PublicKeyToken=[token]”加载类型“Custom.MyClass”

所以,我的问题是:Orchard对模块引用做了什么,我需要做什么来让Orchard获取模块的引用

编辑:似乎可以在及其评论中找到一些更好的信息。但是,我的自定义程序集已经存在于
src\Orchard.Web\App\u Data\Dependencies
中,我仍然收到错误消息

EDIT2:我们在
lib
文件夹中有一个自定义DLL的副本,因此我尝试引用它(因为我们有另一个模块成功地这样做了),但仍然没有更改


EDIT3:参考前两次编辑,它没有从
lib
文件夹复制到
App\u Data\Dependencies
文件夹。我只是在
lib
文件夹中添加了一个新的DLL并引用了它,它没有出现在
Dependencies
文件夹中。我认为当前的
Custom.dll
并没有取代那里的那一个,这就是为什么我得到了错误。但是为什么Orchard不复制到
依赖项
文件夹中呢?

为了让Orchard使用您的自定义模块,您需要让它在路径上:您的web应用程序路径/模块/您的自定义模块,我们使用sym链接来实现这一点

然后您的主模块(web应用程序)应该可以看到您的自定义模块。如果您要将新模块添加到现有的orchard应用程序中,您可能需要从管理面板/模块菜单手动启用它。对于新安装,您可以将功能启用指令添加到配方中,并将依赖项添加到main module.txt文件中(假设您希望模块始终打开)

另一个故障排除技巧:

  • 确保模块构建路径设置为bin/文件夹(而不是某些bin/调试等)
  • 确保您的模块确实是一个orchard模块(具有module.txt文件),并且可以在管理面板/模块中看到
  • 确保已启用,默认情况下禁用新模块
  • 确保引用的库是从静态文件夹中引用的,我的意思是,不是从在重建过程中清理的bin之类的东西中引用的

一旦我们将引用的DLL(位于静态文件夹中)移动到
Dependencies
文件夹中,模块就会显示并正常工作。(模块位于正确的位置-我使用orchard命令行创建了它。)