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);
轉載,請表明出處。總目錄前端經驗收集器