asp.net-mvc - 在 Ubuntu 上的 Mono ASP.NET MVC 项目中使用 LibGit2Sharp

标签 asp.net-mvc ubuntu mono libgit2 libgit2sharp

我在 Ubuntu 上的 MonoDevelop 中创建了 ASP.NET MVC 项目。
使用 Nuget,我添加了 LibGit2Sharp 包,但它没有为 linux 环境编译的 libgit2 库。
然后我下载了libgit2来源并编译它们。
现在我有 libgit2-06d772d.so,但是当我将它放入我的 asp.net mvc 项目的 bin 文件夹时,我得到 System.DllNotFoundException git2-06d772d

注意
当我创建控制台项目并将 libgit2-06d772d.so 放入该项目的 bin 文件夹时,应用程序工作正常。

最佳答案

共享对象在特定文件旁边时不会被加载,而是在它们的目录位于库加载路径中时加载。操作系统设置了一些对所有程序都有效的路径,但是如果你的库在别处,你需要自己指定目录。

导出 LD_LIBRARY_PATH使用库的目录将使库加载器知道您希望从中加载库的其他路径。例如。如果您使用 libgit2sharp 脚本构建 libgit2,您可能会运行

export LD_LIBRARY_PATH=$HOME/libgit2sharp/libgit2/build

在控制台中让操作系统知道您从该 shell 启动的任何程序都可以在哪里找到 libgit2。

基于单声道的应用程序通常会提供一个脚本供用户运行,该脚本在调用单声道启动实际 .exe 之前设置环境。与程序。

关于asp.net-mvc - 在 Ubuntu 上的 Mono ASP.NET MVC 项目中使用 LibGit2Sharp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23590941/

相关文章:

asp.net-mvc - ASP.NET MVC 升级到 Beta : IControllerFactory is defined in an assembly that is not referenced

sql-server - 在使用 UnixODBC、FreeTDS 和 PyODBC 时遇到问题

c# - Linq 不适用于 Mac OSX 10.6.4 上的 MonoDevelop/Mono 最新版本

javascript - 如何在 MVC 3 中对 PartialView 加载执行 JavaScript 函数

asp.net-mvc - 如何向 Razor 页面添加自定义验证?

node.js - 乌类图 : NPM EACCES error though I changed folder ownership

mysql - 第一次无法打开MySQL

linux - Mono 3.0.1 --> 为 Ubuntu 14.04 LTS (AWS Linux AMI) 编译 xsp 时出错

c# - Mono 中的 XML 序列化问题

javascript - 单击按钮关闭 jQuery 对话框