【问题标题】:.net Portable Class Library Contains Microsoft.VisualBasic as dependency.net 可移植类库包含 Microsoft.VisualBasic 作为依赖项
【发布时间】: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(ICollection1 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


【解决方案1】:

您必须更改编译选项。只需将 Option Strict 切换为“On”,编译器就不会绑定 Microsoft.Visualbasic。这取决于后期绑定选项,这是 vb.net 的一个特性,有时是一个问题!

Xamarin 摇滚 ...

【讨论】:

    【解决方案2】:

    很好奇,因为我以前没有尝试过。发现一些细节可能会有所帮助,结果发现有一个编译器选项可以使用 -novbruntimeref(旧代码项目Article)。搜索该文本会给出一些线索,表明您可以手动编辑项目文件并将行添加到属性组做同样的事情。

    <NoVBRuntimeReference>On</NoVBRuntimeReference>
    

    虽然有些页面的值是“true”而不是“on”。但还没有测试过。

    【讨论】:

    • 感谢您的努力,但将其添加到项目文件没有帮助:/
    猜你喜欢
    • 2013-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-22
    • 1970-01-01
    相关资源
    最近更新 更多