DNN 7 Web API 模块;无法加载文件或程序集
DNN 7 Web API Module; Could not load file or assembly
背景
我正在为现有的 DNN 7 站点构建移动应用程序;由大约一年前离开的其他人制作。我之前设置了一个 WebApi 模块来处理身份验证。然后我有了建立一个 class 库来保存我的 DTO 对象的想法;因为我必须修改几个现有模块以公开 Web 方法,并且它们必须与我的应用程序交互。所以我创建了一个 class 库,放入两个 classes 并编译。添加了对我的应用程序和 Web 模块的 dll 引用,并且在引用我的对象时构建它们没有问题。但是,当我从我的应用程序或 Postman chrome 扩展程序向我的模块发送 Web 请求时,我得到:
"Could not load file or assembly 'Elf.Web.Models, Version=1.0.6081.13955, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.",
我的应用在创建和使用对象时似乎没有问题,只是在使用网络模块时。
什么我Tried/Checked
Properties 我确保我的 class 库和我的网络模块都针对同一个框架; .NET Framework 4.5
参考 属性 复制本地是真实的并且根据 Other Question
我尝试手动编辑我的 .csproj 文件以在我的引用下将属性 Private 添加到 True。我什至尝试向我的程序集添加绑定重定向。
手册 我也尝试打开我的模块安装 zip 将 class 库 dll 扔到 bin 文件夹中,重新压缩,然后安装到 dnn 站点.问题依然存在。
如果其他人知道什么可能是问题,我们将不胜感激。
将库 dll 放入安装程序 zip 文件的 bin 文件夹中不会在安装过程中自动将库 dll 文件放入 DotNetNuke 安装的 bin 文件夹中。
将此添加到 <components>
节点下的安装程序 .dnn 文件。
<component type="Assembly">
<assemblies>
<assembly>
<name>myLibrary.dll</name>
<path>bin</path>
</assembly>
</assemblies>
</component>
如果您希望文件自动添加到安装程序 zip,您必须在 ModulePackage.targets
文件中进行引用。
<Copy SourceFiles="$(MSBuildDnnBinPath)\myLibrary.dll" DestinationFolder="$(MSBuildProjectDirectory)\Package\bin"/>
背景
我正在为现有的 DNN 7 站点构建移动应用程序;由大约一年前离开的其他人制作。我之前设置了一个 WebApi 模块来处理身份验证。然后我有了建立一个 class 库来保存我的 DTO 对象的想法;因为我必须修改几个现有模块以公开 Web 方法,并且它们必须与我的应用程序交互。所以我创建了一个 class 库,放入两个 classes 并编译。添加了对我的应用程序和 Web 模块的 dll 引用,并且在引用我的对象时构建它们没有问题。但是,当我从我的应用程序或 Postman chrome 扩展程序向我的模块发送 Web 请求时,我得到:
"Could not load file or assembly 'Elf.Web.Models, Version=1.0.6081.13955, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.",
我的应用在创建和使用对象时似乎没有问题,只是在使用网络模块时。
什么我Tried/Checked
Properties 我确保我的 class 库和我的网络模块都针对同一个框架; .NET Framework 4.5
参考 属性 复制本地是真实的并且根据 Other Question 我尝试手动编辑我的 .csproj 文件以在我的引用下将属性 Private 添加到 True。我什至尝试向我的程序集添加绑定重定向。
手册 我也尝试打开我的模块安装 zip 将 class 库 dll 扔到 bin 文件夹中,重新压缩,然后安装到 dnn 站点.问题依然存在。
如果其他人知道什么可能是问题,我们将不胜感激。
将库 dll 放入安装程序 zip 文件的 bin 文件夹中不会在安装过程中自动将库 dll 文件放入 DotNetNuke 安装的 bin 文件夹中。
将此添加到 <components>
节点下的安装程序 .dnn 文件。
<component type="Assembly">
<assemblies>
<assembly>
<name>myLibrary.dll</name>
<path>bin</path>
</assembly>
</assemblies>
</component>
如果您希望文件自动添加到安装程序 zip,您必须在 ModulePackage.targets
文件中进行引用。
<Copy SourceFiles="$(MSBuildDnnBinPath)\myLibrary.dll" DestinationFolder="$(MSBuildProjectDirectory)\Package\bin"/>