VB.NET从程序集导入失败
我在Web项目中的ASP.NET文件中添加了一些代码,但出现了一个错误,需要添加引用。我在VS菜单VB.NET从程序集导入失败,.net,vb.net,visual-studio,import,reference,.net,Vb.net,Visual Studio,Import,Reference,我在Web项目中的ASP.NET文件中添加了一些代码,但出现了一个错误,需要添加引用。我在VS菜单网站->添加引用…中添加了所需的引用 现在我得到一个错误: BC31091从程序集或模块“MyAssembly.Core.dll”导入类型“ITransactionalMapper”失败。Web(7)C:\Projects\project\src\PublicWeb\Web\MyFile.aspx.vb 我查看了Web项目的引用列表,添加的引用不在列表中。我试着再加一次,它说: 网站已引用程序集“
网站->添加引用…
中添加了所需的引用
现在我得到一个错误:
BC31091从程序集或模块“MyAssembly.Core.dll”导入类型“ITransactionalMapper”失败。Web(7)C:\Projects\project\src\PublicWeb\Web\MyFile.aspx.vb
我查看了Web项目的引用列表,添加的引用不在列表中。我试着再加一次,它说:
网站已引用程序集“MyAssembly.Core.dll”
所以我决定删除它,然后再添加一次。如果它被添加到某个地方,我找不到一个方法来删除它。我查看了Web.config文件,但在程序集列表中没有看到它
我真的不知道问题是什么,也不知道我为什么会有这样的问题。我添加的代码正在使用另一个引用的程序集,该程序集也可能引用我尝试添加的程序集。据我所知,ITransactionalMapper
甚至不在MyAssembly.Core.dll
中,它位于MyAssembly.Database.dll
中
我用的是VS 2015。该项目的目标是.NET4.5
注意:如果我在VS 2012中打开该项目(该项目实际上是一个VS 2012项目),则会出现以下错误:
重载解析失败,因为没有可访问的“Put”接受此数量的参数。
但它应该接受这个数字。是Put
有一个它找不到的ITransactionalMapper
参数(下图中的第一个)
更新:VS 2015中显示了两个必要的参考资料,但在VS 2012中查看Web项目的参考资料时没有显示。知道为什么会这样吗?
我注意到一堆构建警告说,
MyAssembly.Core.dll
有冲突的引用
发现同一从属程序集的不同版本之间存在无法解决的冲突。
它还提到了版本。但是我仍然没有在任何地方看到这些引用。我引用的是一个版本的
MyAssembly.Some.Other.Core.dll
,它是为不同版本的MyAssembly.Core.dll
构建的。我尝试了另一个版本,它可以工作。VS2012和VS2015使用不同版本的msbuild,因此会产生不同的错误。如果ITransactionalMapper依赖于MyAssembly.Core中的某些内容,那么它将需要引用。引用存储在项目文件.vbproj中,而不是web.config中。如果您希望删除或查看副本,请在其中执行。如果单击“在解决方案资源管理器中显示所有文件”,将列出项目中的引用。@FloatingKiwi非Web项目的引用始终可见。在Web项目中没有“显示所有文件”按钮,因为没有隐藏的文件。Web引用未显示在解决方案资源管理器中。@FloatingKiwi映射器类位于MyAssembly.Core.dll
中,调用Put
的类位于MyAssembly.Some.Other.Core.dll
中。这可能是原因吗?@FloatingKiwi同样,Web
项目没有vbproj
文件。