使用.NET 4.5 / Windows Store / WP8的可移植类库中的DllImport

时间:2012-12-20 00:47:12

标签: .net windows-phone-8 windows-store-apps

如果我有一个.NET 4.5和Windows Store的便携类,我可以使用DllImport。但是,当我添加WP8时,它已不再可用,即使WP8支持DllImport。发生了什么事?

1 个答案:

答案 0 :(得分:4)

仅仅因为您可以在C#WP8项目中添加[DllImport ...]并不意味着它受到支持。

    private void Button_Click_1(object sender, RoutedEventArgs e)
    {
        var v = GetCurrentThread();
    }

    [DllImport("kernel32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
    public static extern IntPtr GetCurrentThread();

...将在WP8中提供NotSupportedException。即使MSDN says that this is a supported Win32 API for WP8.

这也可以解释为什么你失去了在PCL中使用DllImport的能力......