c# - Xamarin 的依赖性问题

标签 c# xamarin xamarin.ios nuget nunit

我在使用 Xamarin Studio 时遇到一些依赖性问题。我对 FreshEssentials 有依赖性,在运行时,当尝试使用该包中的组件时,我收到此错误:“无法加载文件或程序集‘FreshEssentials’或其依赖项之一”。我使用 FreshEssentials 有一段时间了,效果很好。这个错误突然出现,我不知道为什么。

我做了以下事情:

Build->Clean All.
Build->Rebuild All.
Project->Update NuGet Packages(gives me the error 'Could not update packages.').
Project->Restore NuGet Packages.
Project->Add NuGet Packages, added FreshEssentials again.
Restarted the IDE.

这些程序没有帮助。抱歉将我的操作格式化为代码,所以如果我不这样做,就不会让我发布。

当我在 iOS 模拟器上运行我的应用程序时出现问题。

我希望这里有人遇到过类似的问题,并且可能会提供一些建议。

编辑:

我只是注意到我的测试不会执行,给我这个 StackTrace。我猜它也与依赖相关。这是在删除 Xamarin Studio 中的所有包并通过 NuGet-> 添加 NuGet 包再次添加它们之后。

One or more errors occurred.
Stack trace:
  at System.Threading.Tasks.Task.ThrowIfExceptional (Boolean includeTaskCanceledExceptions) [0x00014] in /private/tmp/source-mono-4.4.0-c7sr1/bockbuild-mono-4.4.0-branch-c7sr1/profiles/mono-mac-xamarin/build-root/mono-x86/external/referencesource/mscorlib/system/threading/Tasks/Task.cs:2157 
  at System.Threading.Tasks.Task`1[TResult].GetResultCore (Boolean waitCompletionNotification) [0x00034] in /private/tmp/source-mono-4.4.0-c7sr1/bockbuild-mono-4.4.0-branch-c7sr1/profiles/mono-mac-xamarin/build-root/mono-x86/external/referencesource/mscorlib/system/threading/Tasks/Future.cs:562 
  at System.Threading.Tasks.Task`1[TResult].get_Result () [0x00000] in /private/tmp/source-mono-4.4.0-c7sr1/bockbuild-mono-4.4.0-branch-c7sr1/profiles/mono-mac-xamarin/build-root/mono-x86/external/referencesource/mscorlib/system/threading/Tasks/Future.cs:532 
  at MonoDevelop.UnitTesting.NUnit.NUnitAssemblyTestSuite.RunUnitTest (MonoDevelop.UnitTesting.UnitTest test, System.String suiteName, System.String pathName, System.String testName, MonoDevelop.UnitTesting.TestContext testContext) [0x0014a] in /Users/builder/data/lanes/3541/a6f7a24a/source/monodevelop/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/NUnitAssemblyTestSuite.cs:424

最佳答案

我遇到过类似的问题,只有 iOS 项目会抛出同样的异常。

看起来 iOS 链接器不包含程序集,除非在 iOS 项目中明确引用它。

在 iOS 项目 main.cs 中,尝试将以下内容添加到 Main 函数中:

var dummyObject = new FreshEssentials.ListViewItemTappedAttached();

这为我带来了以下功能:

    static void Main(string[] args)
    {
        var dummyObject = new FreshEssentials.ListViewItemTappedAttached();

        // if you want to use a different Application Delegate class from "AppDelegate"
        // you can specify it here.
        UIApplication.Main(args, null, "AppDelegate");
    }

希望这对您有所帮助!

关于c# - Xamarin 的依赖性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38815522/

相关文章:

c# - 通过反射从 C# 中的类创建实例

C# System.TypeLoadException : Could not load type because it contains an object field at offset - code from . .net 核心上的 net 框架

visual-studio - 'XamarinShellPackage' 包没有正确加载

web-services - 在 Xamarin 中使用 New Relic 跟踪 Web 服务请求

c# - 使按钮打开超链接

c# - 我可以在同一台计算机上安装两个相同版本的Visual Studio吗?

c# - 应用程序在后台关闭

iphone - MonoTouch.Dialog:iPad无法获得背景图像集

javascript - 在 iOS UIWebView 中评估 JavaScript 时出现 “SyntaxError: Unexpected EOF”

c# - Winforms c# 中的自定义滚动