穴埋めノート3:SpatialiteSharpはAspにあります.NETの穴

1640 ワード

githubソースコードはここにあります.星を覚えています.https://github.com/brandonxiang/SpatialiteSharp
SpatiliteSharpはSmartrak/SpatiliteSharpが主宰するプロジェクトで、便利さのためです.Net環境でspatialiteを構成し、使用します.もしあなたが選択したら.Netプラットフォームでspatialite空間データベースを選択すると、私はそれを極度にお勧めします.
によってNetプラットフォームは基本的にマイクロソフトプラットフォームであり、環境変数の構成が煩雑であるため、SpatialiteSharpはSpatialiteをダウンロードすることができます.Net上のx 86およびx 64のバージョン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);

転載して、出典を表明してください.総ディレクトリフロントエンド経験コレクタ