我正在开发.Net Core并尝试将> net 4.5应用程序迁移到.Net核心。在此过程中,我在尝试访问git .dll
时发现以下错误以下是我的Project.json:
"frameworks": {
"net451": {
"dependencies": {
"Data": "1.0.0-*",
"NLog": "4.3.5",
"HtmlAgilityPack": "1.4.9",
"LibGit2Sharp": "0.22.0",
"RestSharp": "105.2.3",
"Unofficial.Ionic.Zip": "1.9.1.8"
}
}
在这里我收到以下代码行的错误。
if (Repository.IsValid(basePath) == false)
包含命名空间:
using LibGit2Sharp;
using LibGit2Sharp.Handlers;
错误信息是:
无法加载DLL'git2-785d8c4':找不到指定的模块。 (HRESULT异常:0x8007007E)
我想知道是否有任何其他方法可以在.Net Core中使用此功能。
答案 0 :(得分:2)
更新:从LibGit2Sharp(LibGit2Sharp 0.23.0-pre20160803182831)的8月3日版本开始,LibGit2Sharp现在支持常规.NET 4.5项目(使用基于(http://www.example.com?a=7&b='misc'&c=23)
的解决方案)和基于新式.csproj
的解决方案(如.NET Core中引入的那样)。
请注意,LibGit2Sharp仍然不支持.NET Core,只支持新的项目结构。有关更新,请参阅https://github.com/libgit2/libgit2sharp/pull/1318。
答案 1 :(得分:1)
LibGit2Sharp包依赖于LibGit2Sharp.NativeBinaries包。由于这是native package,它使用MSBuild文件将本机库复制到输出目录。
.Net Core CLI不使用MSBuild,我相信它不支持基于MSBuild的本机包。
如果你想使用带有.Net Core CLI的LibGit2Sharp软件包,我相信你必须等待:.Net Core CLI的下一个版本(计划于2016年秋季)将使用MSBuild,所以它可能会启动工作。或者,LibGit2Sharp的作者将来可能会发布兼容包。