我在我的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
参数无法找到(下图中的第一个参数)。
更新:VS 2015中会显示两个必要的引用,但是当我在VS 2012中查看Web项目的引用时却没有。有什么想法会发生这种情况吗?
我注意到一堆构建警告说MyAssembly.Core.dll
有相互矛盾的引用。
Found conflicts between different versions of the same dependent assembly that could not be resolved.
它还提到了版本。但我仍然没有在任何地方看到这些参考文献。
答案 0 :(得分:1)
我引用了为MyAssembly.Some.Other.Core.dll
的不同版本构建的MyAssembly.Core.dll
版本。我尝试了另一个版本,它可以工作。