【发布时间】:2017-05-08 02:33:08
【问题描述】:
我创建了一个可移植的类库,应该在 xamarin 项目中使用,我删除了项目中显式的 Microsoft.VisualBasic 引用。 在 xamarin 项目中使用该库会导致以下编译时错误:
加载程序集时出现异常:System.IO.FileNotFoundException: 无法加载程序集“Microsoft.VisualBasic,版本=10.0.0.0, 文化=中性,PublicKeyToken=b03f5f7f11d50a3a'。也许它没有 存在于 Mono for Android 配置文件中吗?日期名称: “Microsoft.VisualBasic.dll”贝 Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference 参考,ReaderParameters 参数) bei Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(ICollection
1 assemblies, AssemblyDefinition assembly, Boolean topLevel) bei Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(ICollection1 程序集,AssemblyDefinition 程序集,布尔顶级) bei Xamarin.Android.Tasks.ResolveAssemblies.Execute()
当我使用依赖项 walker (ildasm.exe) 检查 .dll 文件时,我注意到 Microsoft.VisualBasic 被列为依赖项:
.assembly extern Microsoft.VisualBasic
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 10:0:0:0
}
谁能告诉我为什么 Microsoft.VisualBasic 仍然是类库的依赖项以及如何解决这个问题?
感谢塞德
【问题讨论】:
-
您是否正在创建 VB PCL?这是创建 PCL 与 C# PCL 的有效方法。否则,我们将需要了解您如何创建此 PCL 的一些步骤。
-
是的,它是一个 VB PCL。我以这种方式创建它 File -> New Project -> Class library (Portable) 然后我选择 Net Framework 4.5, Windows 8. ASP.NET CORE 1.0, Windows Phone 8.1 作为目标。最后我从引用中删除了 Microsoft.VisualBasic
-
我认为我们关于这个主题的文档应该会有所帮助:developer.xamarin.com/guides/cross-platform/… 和 developer.xamarin.com/guides/cross-platform/… 这里有很多陷阱,所以请仔细阅读!
标签: .net vb.net xamarin mono xamarin.android