Skip to content
This repository has been archived by the owner on Jun 21, 2023. It is now read-only.

Ensure x86|x64\e_sqlite3.dll are included in .vsix #2098

Merged
merged 5 commits into from Dec 6, 2018

Conversation

jcansdale
Copy link
Collaborator

@jcansdale jcansdale commented Dec 3, 2018

Ensure e_sqlite.dll is included in .vsix when built using Visual Studio. This file was only being included in the .vsix when built using MSBuild from the command line.

I don't like how brittle this is, but it was the only way I could find to ensure that x86|x64\e_sqlite3.dll are included in .vsix when built using Visual Studio.

What this PR does

  • Add a <PackageReference Include="SQLitePCL.raw_basic"> to GitHub.VisualStudio.csproj
    • Referencing this package directly appears to ensure that native artifacts are included in the .vsix when built using Visual Studio. This was never an issue with command line builds.

How to test

  1. Build the solution using Visual Studio
  2. Check that GitHub.VisualStudio.vsix contains x86\e_sqlite3.dll and x64\e_sqlite3.dll (you can view contents using 7-zip)

What was happening

Here is a comparison between a .vsix build using Visual Studio and one build using MSBuild from the command line.

image

It was causing the following when attempting to view a PR file diff.

image

image

image

Notes

I'm hoping it was also the reason some buttons weren't showing up. 馃 We'll need to keep a look out for this one!

image

Ensure e_sqlite.dll is included in .vsix when built using Visual
Studio. This file was only being included in the .vsix when built using
MSBuild from the command line.
@jcansdale jcansdale changed the title Ensure e_sqlite.dll is included in .vsix Ensure e_sqlite3.dll is included in .vsix Dec 3, 2018
@jcansdale jcansdale changed the title Ensure e_sqlite3.dll is included in .vsix [wip] Ensure e_sqlite3.dll is included in .vsix Dec 3, 2018
Explicitly include x86\e_sqlite3.dll and x64\e_sqlite3.dll from content
files in VSIX.
@jcansdale jcansdale changed the title [wip] Ensure e_sqlite3.dll is included in .vsix Ensure e_sqlite3.dll is included in .vsix Dec 4, 2018
@jcansdale jcansdale changed the title Ensure e_sqlite3.dll is included in .vsix [wip] Ensure e_sqlite3.dll is included in .vsix Dec 4, 2018
A direct reference to this package causes x86\e_sqlite3.dll and
x64\e_sqlite3.dll be copied to the output directory so they can be
picked by the VSIXSourceItem filter.
@jcansdale jcansdale force-pushed the fixes/include-e_sqlite.dll-in-vsix branch from 85e981a to 7868846 Compare December 4, 2018 15:25
@jcansdale jcansdale changed the title [wip] Ensure e_sqlite3.dll is included in .vsix Ensure e_sqlite3.dll is included in .vsix Dec 4, 2018
@jcansdale jcansdale changed the title Ensure e_sqlite3.dll is included in .vsix Ensure x86|x64\e_sqlite3.dll are included in .vsix Dec 4, 2018
@jcansdale
Copy link
Collaborator Author

@madskristensen i'm seeing a strange issue where artifacts are appearing in .vsix depending on whether is's build from the command line with MSBuild or from inside Visual Studio. When built using Visual Studio the e_sqlite3.dll isn't getting included, so I've needed to resort to the hack in this PR. Any idea what's going on? 馃槙

@madskristensen
Copy link
Contributor

@dgriffen Do you know?

@StanleyGoldman StanleyGoldman merged commit 022a42f into master Dec 6, 2018
@meaghanlewis meaghanlewis added this to the 2.6.0 milestone Dec 6, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants