C# 在Windows运行时组件和Windows应用商店类库之间共享DTO
我有一个Windows应用商店应用程序,它使用Sqlite作为数据库组件。sqlite数据库包装在Windows类库项目中。我想在后台任务(WinRT组件类型项目)中引用此dll,并调用一些数据库更新方法。这里是库中的一个示例类,我尝试在Win RT组件中使用它,并收到了 这个错误 方法ServerDataProvider.GetPersonProxy()返回“WindowsSqlite.PersonProxy”,它不是有效的Windows运行时类型。暴露于Windows运行时的方法必须仅返回Windows运行时类型C# 在Windows运行时组件和Windows应用商店类库之间共享DTO,c#,windows,C#,Windows,我有一个Windows应用商店应用程序,它使用Sqlite作为数据库组件。sqlite数据库包装在Windows类库项目中。我想在后台任务(WinRT组件类型项目)中引用此dll,并调用一些数据库更新方法。这里是库中的一个示例类,我尝试在Win RT组件中使用它,并收到了 这个错误 方法ServerDataProvider.GetPersonProxy()返回“WindowsSqlite.PersonProxy”,它不是有效的Windows运行时类型。暴露于Windows运行时的方法必须仅返回W
class PersonProxy
{
public string Name;
public int Id;
}
根据MSDN,此类中的数据类型可“映射”到Win RT类型。当我在WinRT组件项目中添加相同的类时,所有内容都会编译
任何指针都会有很大帮助
非常感谢,,
Prea您是否尝试过将这些数据传输类型放入可移植类库并在其他两个项目之间共享它们?@PeterRitchie是的,我尝试过将它们放入可移植类库并在两个项目中引用它们,但仍然得到相同的错误。如果后台任务项目中包含相同的类,则编译。。这太糟糕了,因为我在一个单独的类库中已经有了与数据库相关的东西,我可以在后台任务中引用这些东西。现在看来,我要么必须重复数据库代码(仅获取所需内容),要么使用json文件或应用程序设置传输数据。这篇文章是这么说的。我认为问题应该是,后台任务是否可以引用类库并在运行时使用该功能。。?从理论上讲,进程backgroundTaskHost.exe不应该加载一个单独的库,以便通过后台任务对其调用某些方法吗?