- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在开发 C# 控制台应用程序 (.NET 4.6.1)
,在运行其可执行文件时出现以下错误:
The type initializer for 'LibGit2Sharp.Core.NativeMethods' threw an exception.
错误描述:
at LibGit2Sharp.Core.NativeMethods.git_repository_open(git_repository*& repository, FilePath path)
at LibGit2Sharp.Core.Proxy.git_repository_open(String path)
at LibGit2Sharp.Repository..ctor(String path, RepositoryOptions options, RepositoryRequiredParameter requiredParameter)
at LibGit2Sharp.Repository..ctor(String path)
at MyProj.MyClass.GetMaxBranchVersion(String repoPath)
内部异常:
System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime.InteropServices.RuntimeInformation, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. File name: 'System.Runtime.InteropServices.RuntimeInformation, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' at LibGit2Sharp.Core.Platform.get_OperatingSystem() at LibGit2Sharp.Core.NativeMethods..cctor()
现在,该项目的代码在调试它或仅使用 Visual Studio 运行它时工作正常 - 尝试将它作为可执行文件运行时出现错误。问题不在于 GetMaxBranchVersion 方法本身,因为我尝试根本不调用它,这只会导致在运行下一个方法时出现错误。
我尝试按照 this answer 将以下配置项添加到 .csproj 文件中但不幸的是,它并没有解决我的问题:
<PropertyGroup>
..
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
..
</PropertyGroup>
可能的原因是什么?
我知道提供的信息可能不多,但如果需要,我可以提供更多详细信息。
最佳答案
我设法通过以下方式解决了我的问题:
Target Framework
更改为 .NET 4.7
System.Runtime.InteropServices.RuntimeInformation.dll
复制到我试图从中运行可执行文件的文件夹中此时我又得到了一个错误:
System.DllNotFoundException: Unable to load DLL 'git2-6311e88': The specified module could not be found. (Exception from HRESULT: 0x8007007E) at LibGit2Sharp.Core.NativeMethods.git_libgit2_init()
at LibGit2Sharp.Core.NativeMethods.LoadNativeLibrary() at LibGit2Sharp.Core.NativeMethods..cctor()
感谢this answer我能够通过以下方式克服这个问题同时复制 git2-6311e88.dll
(我的情况需要 x86 版本,它通常位于您的 bin/debug
或 bin/release
文件夹,在 lib/os-version
下,在我的例子中是 lib/win32
)
瞧!有用!祝所有遇到同样问题的人好运。
关于c# - 'LibGit2Sharp.Core.NativeMethods' 的类型初始值设定项抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50586936/
我需要使用 C# 中的 native DLL。 DLL 公开了几种我可以通过 P/Invoke 访问的方法和几种类型。所有这些代码都在标准的 NativeMethods 类中。为了简单起见,它看起来像
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Is the class NativeMethods handled specially in .NET?
我正在开发 C# 控制台应用程序 (.NET 4.6.1),在运行其可执行文件时出现以下错误: The type initializer for 'LibGit2Sharp.Core.NativeMe
https://msdn.microsoft.com/en-us/library/ms182161.aspx 本页中描述的三个类是否在 .NET Framework 中进行了特殊处理? (Native
在执行 pinvoke 时,约定是将它们放在 NativeMethods 类中,但是请记住,枚举和结构都不需要在类中,pinvoke 使用的枚举和结构的约定是什么? 是否也将它们放在 NativeMe
我目前正在使用 WatiN,发现它是一个很棒的 Web 浏览自动化工具。但是,截至上一个版本,它的屏幕捕获功能似乎有所欠缺。除了一些 this StackOverflow question 之外,我已
在 Windows 环境中运行此应用程序时,我在我的 .net core 3.0 应用程序中使用了 OpenCvSharp 库,该应用程序运行没有任何问题。当在 ubuntu 18.04 中运行的 d
有人可以建议我如何处理这条消息吗? CA1060 Move P/Invokes to NativeMethods class Because it is a P/Invoke method, 'UCo
我是一名优秀的程序员,十分优秀!