SQLite.WP81 extension SDK installs on VS2013 U2 bu

2020-07-10 09:34发布

After installing the SQLite.WP81 extension SDK on Visual Studio 2013 Update 2, the SQLite for Windows Phone assembly does not appear in the list of Extensions in the Windows Phone 8.1 tab.

There is a discussion on the SQLite for Windows Phone 8.1 download page in the Visual Studio Gallery where another developer seems to have the same issue. Another developer suggests manually installing the extension, but that made no difference. (And that advice seems suspect as it appears this extension is now installed under C:\Program Files (x86)\Microsoft SDKs\WindowsPhoneApp\v8.1\ExtensionSDKs\SQLite.WP81\3.8.6)

It seems the extension has failed to register itself as an extension SDK with Visual Studio.

Anyone with ideas of how to fix this?

EDIT: Things have advanced a bit

I moved the SQLite.WP81 folder from the C:\Program Files (x86)\Microsoft SDKs\WindowsPhoneApp\v8.1\ExtensionSDKs\SQLite.WP81\ to C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.1\ExtensionSDKs\SQLite.WP81\, updated the paths in the \SQLite.WP81\3.8.6\extension.vsixmanifest and \SQLite.WP81\3.8.6\DesignTime\CommonConfiguration\neutral\SQLite.WP81.props files to reflect the new location and the package appeared.

This is weird and great at the same time. Manually hacking the SDK seems odd. But it is progress.

Now, the problem is SQLite.WP81 wants some SDK called Microsoft.VCLibs and that does not appear in the Resource Manager. Searching the web has been fruitless so far.

Does anyone have a clue where to find the Microsoft.VCLibs?

3条回答
戒情不戒烟
2楼-- · 2020-07-10 09:56

There is something broken between VS2013 U3 and my project. For some reason, after upgrading this project to Windows Phone Silverlight 8.1, VS2013 U3 will not show any of the Extension SDKs for Windows Phone 8.1.

I used the XML editor to include the following references to the project's .csproj file.

  <ItemGroup>
    <SDKReference Include="SQLite.WP81, Version=3.8.6">
      <Name>SQLite for Windows Phone 8.1</Name>
    </SDKReference>
  </ItemGroup>
  <ItemGroup>
    <SDKReference Include="Microsoft.VCLibs, Version=12.0">
      <Name>Microsoft Visual C++ 2013 Runtime Package for Windows Phone</Name>
    </SDKReference>
  </ItemGroup>

The other issue preventing my project from working was my use of different sqlite.winmd files between the projects. The app would build and deploy, but at run-time the app would crash. Some message in the Debug log says SQLite is not registered. (Sorry, didn't write down the actual message.) Going through all of my projects making identical references to sqlite.winmd finally got the app running on WP8.1.

Hopefully this prevents others from wasting a few days.

查看更多
▲ chillily
3楼-- · 2020-07-10 10:02

Try going into your drive and use the search bar to look for the correct extension .dll grab the most recent date of the results and see if that works.

查看更多
我命由我不由天
4楼-- · 2020-07-10 10:11

Ok, here is what I managed to do (but Im still not able to even compile)

I installed the WP 8.0 version of sqlite which I was able to reference in my WP 8.1 project. I unloaded the project, opened the csproj file where I changed the WP8.0 reference to WP8.1. After that I get the correct sdk, but VS complains about Microsoft.VCLibs. I was able to solve that by again manually editing the csproj and adding this snippet:

  <ItemGroup>
    <SDKReference Include="Microsoft.VCLibs, Version=12.0">
      <Name>VCLibs</Name>
    </SDKReference>
  </ItemGroup>

Right below where the similar sqlite snippet is. After this VS no longer complains about VCLibs. But when trying to use sqlite-net wrapper, it doesn't recognize the Sqlite namespace, which I guess is a bad sign.

查看更多
登录 后发表回答