C# 参考.NET核心项目中的UWP项目

C# 参考.NET核心项目中的UWP项目,c#,asp.net-core,uwp,raspberry-pi3,iot,C#,Asp.net Core,Uwp,Raspberry Pi3,Iot,我想从.NET核心项目中使用通用Windows类库中的一些代码 我安装了一个运行Windows IOT的pi。我发现了一个包含所需C#代码的应用程序,效果非常好 但在pi,我还希望有一个asp.net核心项目,使用UWP项目。但是,如果我将asp.net核心的引用添加到UWP,则表明它不受支持,这也是有意义的,因为它们在.net体系结构中处于同一级别 我使用Visual Studio 2019,刚刚安装了.NET Core 3.0 preview3 我能从我的核心项目中获得使用UWP的任何方法吗

我想从.NET核心项目中使用通用Windows类库中的一些代码

我安装了一个运行Windows IOT的pi。我发现了一个包含所需C#代码的应用程序,效果非常好

但在pi,我还希望有一个asp.net核心项目,使用UWP项目。但是,如果我将asp.net核心的引用添加到UWP,则表明它不受支持,这也是有意义的,因为它们在.net体系结构中处于同一级别

我使用Visual Studio 2019,刚刚安装了.NET Core 3.0 preview3


我能从我的核心项目中获得使用UWP的任何方法吗?

如果你想参考,它不能像你自己说的那样完成,它没有任何意义

一些解决方法是将代码从UWP项目移动到新的.Net核心项目,然后从两个项目中引用它。如果使用一些UWP API,则可以考虑使用条件编译的共享项目而不是NeX.NET核心项目。

尝试添加

    <ItemGroup>
        <PackageReference Include="System.Runtime.WindowsRuntime" Version="4.6.0-preview4.19212.13" />
        <Reference Include="Windows">
            <HintPath>C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.18362.0\Windows.winmd</HintPath>
        </Reference>
    </ItemGroup>

C:\Program Files(x86)\Windows Kits\10\UnionMetadata\10.0.18362.0\Windows.winmd

到您的csproj文件。它允许我在asp.net core preview 3项目中使用UWP api。

您只能剪切和粘贴。我不熟悉UWP,但是类库中的代码是否与UWP相关?能否将类库移植到目标.NET标准?然后你可以在所有项目中引用它。不幸的是,它使用了UWP之类的东西:Windows.Devices.I2c,所以不容易理解port@JerryA:如何在ASP.NET核心应用程序中使用UWP特定的内容?在不同平台之间共享有意义的代码应该以.NET标准为目标。@mm8-是的,你是对的。正如你在下面看到的,这也是我最终得到的。它使用了一些UWP API,所以我同意核心或标准中的共享项目可以做到这一点。但我不太喜欢这个,因为它会让跨层的交流变得有点模糊,但你可能是对的,这是最好的/唯一的可能性。实际上,我最终得到了这个。所以在.Net标准中创建了一个单例,我在ASP:Net项目和UWP项目中都引用了它。因此,我的web服务可以调用共享库中的一些方法,这些方法可以通知UWP部分。