ClickOnce에서 System.Data.SQLite를 사용하는 앱을 게시하는 경우의주의 사항

2428 단어 C#sqliteClickOnce

개요



ClickOnce에서 System.Data.SQLite를 사용하는 앱을 게시하는 경우,
아무 것도 처리하지 않으면 런타임에 다음 예외가 발생합니다.
그 대처법입니다.
ハンドルされていない例外: System.DllNotFoundException: DLL 'SQLite.Interop.dll' を読み込めません:指定されたモジュールが 見つかりません。 (HRESULT からの例外:0x8007007E)
   場所 System.Data.SQLite.UnsafeNativeMethods.sqlite3_config_none(SQLiteConfigOpsEnum op)
   場所 System.Data.SQLite.SQLite3.StaticIsInitialized()
   場所 System.Data.SQLite.SQLiteLog.Initialize()
   場所 System.Data.SQLite.SQLiteConnection..ctor(String connectionString, Boolean parseViaFramework)
   場所 System.Data.SQLite.SQLiteConnection..ctor(String connectionString)
   場所 SQLiteMigrationSample.Program.Main(String[] args)

방법



프로젝트 바로 아래에 x64 및 x86 폴더를 만듭니다.


추가한 x64 폴더에 대해 오른쪽 클릭에서 추가 > 기존 항목을 선택합니다.


x64에 해당하는 SQLite.Interop.dll을 선택하고 링크로 추가를 수행합니다.
해당 dll은 예를 들어 packages/System.Data.SQLite.Core.1.0.108.0/build/net46/x64/SQLite.Interop.dll에 있습니다.


마찬가지로 x86 폴더에도 dll을 추가합니다.
결국 다음과 같은 느낌이 듭니다.


프로젝트 속성 > 게시 탭 > 애플리케이션 파일에 추가한 dll이 있으면 OK입니다.


이 상태에서 지금까지 발행하면 x64/x86 폴더의 dll도 패키지에 포함되어 제대로 작동하게 됩니다.

코멘트



SQLite 이외에도 x64/x86 폴더에 DLL이 있는 라이브러리에서 사용할 수 있어야 합니다.

참고 URL



  • ht tp // ぇべ rc roc s. 어긋나는 b로 s. 네 t / e f7-sq ぃ - c ぃ ck - 온세 - p ぉ y 맨 t - 에로 r /
  • 거의, 여기의 내용입니다.

  • 좋은 웹페이지 즐겨찾기