填坑 筆記三: SpatialiteSharp在Asp.NET的坑

github源碼在此,記得點星:
https://github.com/brandonxiang/SpatialiteSharp

SpatiliteSharp是一個Smartrak/SpatialiteSharp主持的項目,是一個為了方便在.net環境下配置并使用spatialite。如果你選擇.net平臺,同時選擇spatialite空間數據庫,那我極度建議用它。

由于.net平臺基本上就是微軟平臺,在配置環境變量上十分繁瑣,所以SpatialiteSharp可以幫你下載Spatialite在.net上的x86和x64的版本dll,并通過代碼配置對應的環境變量。

總體來說,十分實用,但是,在ASP.Net平臺上,由于微軟在服務器路徑上的繁瑣,要改動一下源碼。我當然事先issue了一下。在改動之后,路徑將修改正確,一切功能正常使用。

原本源碼

Environment.SetEnvironmentVariable("PATH", Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), Environment.Is64BitProcess ? "x64" : "x86", "spatialite") + ";" + Environment.GetEnvironmentVariable("PATH"));

改動后

var dllPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
var spatialitePath = Path.Combine(dllPath, Environment.Is64BitProcess ? "x64" : "x86", "spatialite") + ";";
var paths = Environment.GetEnvironmentVariable("PATH");
Environment.SetEnvironmentVariable("PATH", spatialitePath + paths);

或者

var dllPath = AppDomain.CurrentDomain.BaseDirectory;
var spatialitePath = Path.Combine(dllPath, Environment.Is64BitProcess ? "x64" : "x86", "spatialite") + ";";
var paths = Environment.GetEnvironmentVariable("PATH");
Environment.SetEnvironmentVariable("PATH", spatialitePath + paths);

轉載,請表明出處。總目錄前端經驗收集器

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,242評論 25 708
  • 很多媽媽都問我,我家孩子怎么動不動就出手打人呢? 孩子愛打人怎么辦?這里回答了一位媽媽的疑問
    想寶麻麻閱讀 224評論 0 0
  • 北國大慶,千畝濕地,萬只野鴨,望城市內外,生機莽莽……
    此時此刻3016閱讀 355評論 1 1
  • 剛剛看完《Fly Away home》,電影講的是13歲的小女孩艾米,跟媽媽住在新西蘭,有一次她跟媽媽一起開車在外...
    張好奇閱讀 1,021評論 0 3
  • 趕班 一分一秒,時間迅速臨近7:30。再不出發,上班就要遲到了。 打開門,...
    笨笨姐妹閱讀 288評論 3 2