2016-12-22 8 views
4

Я создал переносную библиотеку классов, которая должна использоваться в проекте xamarin, я удалил ссылку Microsoft.VisualBasic, явную в проекте. Использование библиотеки в проекте Xamarin вызывает следующую ошибку compiletime:.net Portable Class Library содержит Microsoft.VisualBasic как зависимость

Exception while loading assemblies: System.IO.FileNotFoundException: Could not load assembly 'Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Perhaps it doesn't exist in the Mono for Android profile?Dateiname: "Microsoft.VisualBasic.dll" bei Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters) bei Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(ICollection 1 assemblies, AssemblyDefinition assembly, Boolean topLevel) bei Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(ICollection 1 assemblies, AssemblyDefinition assembly, Boolean topLevel) bei Xamarin.Android.Tasks.ResolveAssemblies.Execute()

Когда я осмотрел .dll-файл с зависимостью Уолкер (ildasm.exe), я заметил, что Microsoft.VisualBasic указаны в зависимости :

.assembly extern Microsoft.VisualBasic 
{ 
    .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A)       // .?_....: 
    .ver 10:0:0:0 
} 

Может кто-нибудь сказать мне причину, почему Microsoft.VisualBasic до сих пор зависимость библиотеки классов и как решить эту проблему?

Благодаря Ced

+0

Вы создаете VB PCL? Это правильный способ создания PCL и C# PCL. В противном случае нам нужно будет увидеть некоторые шаги, как вы создали этот PCL. –

+0

Да, это VB PCL. Я создал его таким образом Файл -> Новый проект -> Библиотека классов (Portable) Затем я выбрал Net Framework 4.5, Windows 8. ASP.NET CORE 1.0, Windows Phone 8.1 в качестве цели. Наконец, я удалил Microsoft.VisualBasic из ссылок – Ced

+0

Я думаю, что наши документы на эту тему должны помочь: https://developer.xamarin.com/guides/cross-platform/application_fundamentals/pcl/portable_visual_basic_net/ и https: // разработчик. xamarin.com/guides/cross-platform/application_fundamentals/pcl/portable_visual_basic_net/xamarin-forms/ Здесь довольно много ошибок, поэтому, пожалуйста, внимательно прочитайте! –

ответ

0

Было любопытно, так как я не пробовал этого раньше. Найденные детали, которые могут помочь после некоторого поиска, есть опция компилятора, которую вы можете использовать -novbruntimeref (проект старого кода Article). Поиск этого текста дает пару потенциальных клиентов, что указывает на то, что вы можете вручную отредактировать файл проекта и добавить строку в группу свойств, сделайте то же самое.

<NoVBRuntimeReference>On</NoVBRuntimeReference> 

Хотя некоторые страницы имели значение «true» вместо «on». Но не проверял.

+0

Спасибо за ваши усилия, но добавление этого файла проекта не помогает: / – Ced

0

Вы должны изменить параметры компиляции. Просто переключите Option Strict на «On», и компилятор не привяжет Microsoft.Visualbasic. Это зависит от позднего варианта привязки, который является особенностью vb.net и иногда является проблемой!

Xamarin rocks ...