“无法加载文件或程序集”,dll 引用 asp.net core 2 应用程序

运行我的 asp core 2 Web 应用程序时出现参考错误。我的 web(核心 2)项目正在引用另一个(.dll 输出)项目(.net 4.7),它安装了 Windsor.Core 和 windsor.castle nuget 包。运行 web 项目时,出现以下错误:

System.IO.FileNotFoundException: 'Could not load file or assembly 'Castle.Windsor, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc'. The system cannot find the file specified.'

这两个项目都针对 x64(需要另一个库)。Windsor.Core 和 Castle dll 的属性:

http://img4.mukewang.com/6160fb3e000180ad04280475.jpg

http://img3.mukewang.com/6160fb4b0001283304250452.jpg

Windsor 库仅添加到 .dll 项目中。当我还将相同的 nuget 包添加到 asp.net 核心项目时,程序崩溃并显示以下消息:

System.MissingMethodException: 'Method not found: 'Castle.MicroKernel.Registration.IWindsorInstaller Castle.Windsor.Installer.FromAssembly.This()'.'

对我来说,似乎只加载了库的一部分。

Windsor.Castle / Core 库都可以在 asp.net core 2 web 应用程序的输出目录中找到。但是为什么找不到呢?


aluckdog
浏览 347回答 1
1回答

侃侃无极

用户 AsifAli72090 是对的,我也认为类似的问题会是问题,但我的谷歌结果没有给我那个答案。我通过在我的解决方案中创建一个新的 .net core dll 项目并将我的所有文件移到那里来解决这个问题。您可以在 google 上搜索如何转换为 .net 核心项目,但这并不像检查或切换设置中的下拉列表那么容易。一切都完美无缺!
打开App,查看更多内容
随时随地看视频慕课网APP