VB.NET从程序集导入失败

时间:2016-08-09 20:08:13

标签: .net vb.net visual-studio import reference

我在我的Web项目中向ASP.NET文件添加了一些代码,我收到了一个错误,我需要添加一个引用。我在VS菜单Website -> Add Reference...中添加了所需的引用。

现在我收到一个错误:

BC31091 Import of type 'ITransactionalMapper' from assembly or module 'MyAssembly.Core.dll' failed. Web(7)  C:\Projects\project\src\PublicWeb\Web\MyFile.aspx.vb

我查看了Web项目的引用列表,我添加的引用不在列表中。我试图再次添加它,它说:

The Web site is already referencing the assembly 'MyAssembly.Core.dll'

所以我决定将其删除并尝试重新添加。如果它甚至被添加到某处,我找不到删除它的方法。我查看了Web.config文件,我没有在程序集列表中看到它。

我不确定问题是什么或为什么我有这个问题。我添加的代码是使用另一个引用的程序集, 程序集也可能引用我试图添加的程序集。据我所知,ITransactionalMapper甚至不在MyAssembly.Core.dll内,它位于MyAssembly.Database.dll内。

我正在使用VS 2015.该项目的目标是.NET 4.5

注意:如果我在VS 2012中打开项目(该项目实际上是VS 2012项目),我会收到错误:

Overload resolution failed because no accessible 'Put' accepts this number of arguments.

但它应该接受这个数字。 Put具有ITransactionalMapper参数无法找到(下图中的第一个参数)。

enter image description here

更新:VS 2015中会显示两个必要的引用,但是当我在VS 2012中查看Web项目的引用时却没有。有什么想法会发生这种情况吗?

我注意到一堆构建警告说MyAssembly.Core.dll有相互矛盾的引用。

Found conflicts between different versions of the same dependent assembly that could not be resolved.

它还提到了版本。但我仍然没有在任何地方看到这些参考文献。

1 个答案:

答案 0 :(得分:1)

我引用了为MyAssembly.Some.Other.Core.dll的不同版本构建的MyAssembly.Core.dll版本。我尝试了另一个版本,它可以工作。