在使用SQLite构建UWP应用程序时调用警告

时间:2016-05-29 20:29:48

标签: c# sqlite win-universal-app uwp windows-10-universal

在构建添加了SQLite的UWP应用程序时,我收到了大约40个警告,如下所示(只是方法名称更改)(为了更好的可读性添加了一些新行)。配置设置为release。我没有在调试模式下收到任何这些消息。

C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\ARM\ilc\IlcInternals.targets(936,5): 
    warning : ILTransform_0000:       
    MCG : warning MCG0006: 
        Unresolved P/Invoke method 'Open!sqlite3' in assembly 
        'SQLite.Net.Platform.WinRT, Version=3.1.0.0, Culture=neutral, PublicKeyToken=null' 
        because it is not available in UWP applications. Please either use an another API , 
        or use [DllImport(ExactSpelling=true) to indicate that you understand the 
        implications of using non-UWP application APIs. 

根据许多教程,我在项目中有以下参考资料。

    通过sqlite.org 中的sqlite-uwp-3120200.vsix文件安装的
  • SQLite for Windows Universal Platform
  • Visual C++ 2015 Runtime for Universal Windows Platform Apps(尝试使用和不使用此扩展程序,因为有些教程在是否需要添加时有所不同)
  • SQLite.Net-PCL(v3.1.1)通过NuGet
  • 安装

目标版本和最小版本是10586.由于它是在发布模式下构建的,因此启用了本机工具链。

有谁知道这条警告信息的含义以及如何解决?

1 个答案:

答案 0 :(得分:1)

在处理UWP unittest时遇到类似问题 - 仅在发布模式下调试模式没有问题。

我通过将UseDotNetNativeToolchain更改为false来解决它。

查看你的.vcxproj文件

<UseDotNetNativeToolchain>false</UseDotNetNativeToolchain>