【发布时间】:2018-03-24 02:30:48
【问题描述】:
我们收集了大量的经典 .Net 库,这些库使用从 .Net 3.5 到 4.6 的任何版本编写而成。这包括我们在使用 WCF、Web API、Asp.Net、WPF 和 Windows 窗体的各种 .Net 解决方案中使用的核心业务逻辑和数据模型类。因此,在考虑创建 UWP 应用时,我们需要重用其中一些 .Net dll,这是很自然的。
我创建了一个可移植类库 (PCL),我在其中引用了我们的一个 .Net 4.5 dll。然后我在 PCL 中创建了一个实现 4.5 类之一的类:
using DODServiceLib.Models;
namespace PortableClassLibrary
{
public class UtilityStats : ProcessorStats
{
}
}
ProcessorStats 来自 4.5 dll,DODServiceLib.Models。
在我的 UWP 应用程序中,我添加了对 PCL、PortableClassLibrary 的项目引用,并在后面的代码中添加了一条 using 语句,这是我需要使用我的 .Net 类实现的地方:
using System;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using System.Net.Http;
using System.Threading.Tasks;
using PortableClassLibrary;
namespace HelloWorld
{
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
private void Button_Click_2(object sender, RoutedEventArgs e)
{
var utilityStats = new UtilityStats();
}
}
}
在构建解决方案时,我在 UWP HelloWorld 应用程序中遇到以下错误:
Type universe cannot resolve assembly: DODServiceLib, Version=20.17.7.28, Culture=neutral, PublicKeyToken=null.
Cannot resolve Assembly or Windows Metadata file 'DODServiceLib.dll'
当 UWP 应用仅使用 PCL 时,为什么要寻找对 .Net DLL (DODServiceLib) 的引用?
我不能将这样的 PCL 用作经典 .Net 库的“包装器”吗?
【问题讨论】:
标签: .net uwp portable-class-library