如何与.Net Core网站和UWP应用共享.Net Core项目?

IP之前

我正在创建一个概念证明解决方案,该解决方案将使用实体框架共享一个项目。我希望UWP项目以及.Net Core网站可以引用共享项目。我能够获得引用该项目并正确使用Entity Framework Core的网站。当我尝试让UWP应用使用相同的代码时,它会编译,但在运行时会失败。我也尝试过使用NetStandard1.4和NetStandard1.6更改框架,但是实体框架核心无法正常工作。

我的共享项目是.Net Core类库(不是VS中的实际共享项目类型)。

这是运行UWP应用程序时遇到的错误。当我尝试创建从DbContext继承的新Context类时,会发生这种情况:

mscorlib.ni.dll中发生类型'System.IO.FileLoadException'的异常,但未在用户代码中处理

附加信息:无法加载文件或程序集'System.Runtime,版本= 4.1.0.0,区域性=中性,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自HRESULT的异常:0x80131040)

这是我用于共享项目的project.json。

{
  "version": "1.0.0-*",

  "dependencies": {
    "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0",
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
    "NETStandard.Library": "1.6.0",
    "System.ComponentModel.Annotations": "4.1.0",
    "Microsoft.NETCore.App": {
      "version": "1.0.0",
      "type": "platform"
    }
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }

  }
}

这是UWP项目的project.json

{
  "dependencies": {
    "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0",
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
    "Microsoft.NETCore.UniversalWindowsPlatform": "5.2.2"
  },
  "frameworks": {
    "uap10.0": {
      "imports": [
        "netcoreapp1.0"
      ]
    }
  },
  "runtimes": {
    "win10-arm": {},
    "win10-arm-aot": {},
    "win10-x86": {},
    "win10-x86-aot": {},
    "win10-x64": {},
    "win10-x64-aot": {}
  }
}

这是网站项目的project.json

{
  "dependencies": {
    "Domain": "1.0.0-*",
    "Microsoft.AspNetCore.Diagnostics": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.0",
    "Microsoft.AspNetCore.Razor.Tools": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    },
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0",
    "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.Logging": "1.0.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.Extensions.Logging.Debug": "1.0.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
    "Microsoft.NETCore.App": {
      "version": "1.0.0",
      "type": "platform"
    },
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0"
  },

  "tools": {
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
    "BundlerMinifier.Core": "2.0.238",
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  },

  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },

  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "Views",
      "Areas/**/Views",
      "appsettings.json",
      "web.config"
    ]
  },

  "scripts": {
    "prepublish": [ "bower install", "dotnet bundle" ],
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  }
}
布里塞兰

我不确定UWP项目是否可以与.NET Core项目一起使用。也许您可以尝试将EF项目更改为可移植类库项目。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在.NET Core项目中引用.NET Framework项目?

如何在.Net Core项目中禁用TypeScript编译?

如何将.NET Core项目转换为.NET Framework项目?

如何在.NET Core项目中添加C ++库

ASP.NET Core项目:如何防止打字稿编译

如何从完整的.Net框架测试项目引用ASP.NET Core项目?

如何使用dockerfile将参数传递到.NET Core项目

如何从ASP.NET Core项目中删除Docker支持?

如何在.NET Core和.NET Framework应用程序之间共享程序集

如何通过NuGet软件包共享源代码以在.NET Core项目中使用

如何在ASP.NET Core中的项目之间共享区域?

如何将.Net Core 2.1项目更改为.Net Core 2.0项目

如何为ASP.NET Core 2.1创建项目模板

.Net Core项目类型,用于与多个项目共享布局

UWP App和.NET Core之间的共享库

如何使用UWP的FullTrustLauncher运行.Net Core应用程序?

如何使用.NET Core创建Windows窗体项目?

如何在IIS上使用pythonnet运行.NET Core项目

如何为.NET Core项目指定程序集版本?

如何自动增加.NET Core项目的版本(例如“ 1.0。*”)?

如何为多个用户角色构造.NET Core MVC项目?

如何在.Net Core中引用项目

如何在 32 位模式下运行 .NET Core 项目

如何调试 .NET Core 项目中捆绑的 TypeScript 文件?

.Net Core 上的真实项目

我如何在 asp.net web api 项目而不是 .net core 上使用 DI

如何以编程方式从 .NET Core、.NET Standard 项目下载 NuGet 包

如何按照存储库模式在 Asp.Net Core 5.0 项目上实现 .Net Core Identity?

如何与 .Net Core 6 共享来自 .Net Framework 的 owin 令牌