Mam bibliotekę klasy C#, która odwołuje się do System.Data.SQLite (from nuget). Jest to struktura mojego folderu bin po kompilacji:Visual Studio - Instalacja InstallShield w projekcie z System.Data.SQLite
- MyProject.dll
- System.Data.SQLite.dll
- x86/SQLite.Interop.dll
- x64/SQLite.Interop .dll
System.Data.SQLite
potrzebuje SQLite.Interop
do uruchomienia i prawidłowego dll występuje w czasie wykonywania. Jednak po wygenerowaniu instalacji z InstallShield, która zawiera pierwotne dane wyjściowe projektu, foldery x86 i x64 nie są kopiowane, a moja aplikacja nie działa.
Istnieje sposób na wymuszenie Visual Studio włączenia folderów x86 i x64 do głównego wyjścia?
Jest jakiś sposób na to foldery ręcznie w InstallShield z względnej ścieżce?
Moja okolica:
- Visual Studio 2012 Profesjonalne
- Install Tarcza 2013 Limited Edition (Free)
- System.Data.SQLite 1.0.96
Te raczej brzmią jak zależności niż pierwotne, ale pamiętaj, że grupy wyjść są dla wygody, a nie kontroli. Jeśli chcesz mieć pełną kontrolę nad ustawieniami, lepiej wybieraj pliki statycznie. –
Niestety, foldery x64 i x86 są zarządzane przez pakiet Nuget, więc jedyny sposób, jaki znalazłem, to użycie bezwzględnej ścieżki. Działa, ale każdy programista będzie musiał skonfigurować w nim na swoim komputerze. Byłoby wspaniale, gdybym mógł użyć względnej ścieżki, ale nie znalazłem, jak z darmową edycją. – Rafael
@Rafael Tak, żebyś wiedział. Możesz ręcznie zmienić plik setup.isl z 'c: \ yourpath \ packages \ System.Data.SQLite.Core.1.0.94.0 \ build \ net40 \ x86 \ SQLite.Interop.dll' na' <ISProjectFolder>. . \ packages \ System.Data.SQLite.Core.1.0.94.0 \ build \ net40 \ x86 \ SQLite.Interop.dll' (lub gdziekolwiek znajduje się twój SQLite.Interop) – Markus