参考WPF的.NET Core 1.0库

我目前正在WPF中开发一个桌面应用程序,该应用程序使用.NET Core库来轻松移植到不同的平台。 但是,我似乎无法从WPF应用程序中引用.NET Core库。

我尝试了以下解决方案:

  • 引用该项目:Visual Studio抱怨该项目不是.exe或.dll,尽管它是。

  • 引用编译后的.dll:这真的很难看,但它起初似乎起作用。 智能感知是可以的,WPF项目编译得很好。 但是,只要我想使用.NET Core项目中的任何功能,就会抛出BadImageFormatException。

  • dotnet pack该项目并引用.nupkg:安装一堆附加软件包,并在使用任何功能时引发BadImageFormatException。

  • 从我可以收集的信息来看,这里有两种选择:

  • 做一些很酷的事情,比如做一个.NET Core Console项目,并在两个程序之间传递所有对象作为字符串
  • 要么:

  • 放弃.NET Core并使用EF6。
  • 这是我的project.json:

    {
      "version": "1.0.0-*",
    
      "buildOptions": {
        "debugType": "portable",
        "emitEntryPoint": true
      },
    
      "dependencies": {
        "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0",
        "Microsoft.EntityFrameworkCore.Design": {
          "version": "1.0.0-preview2-final",
          "type": "build"
        }
      },
    
      "frameworks": {
        "netcoreapp1.0": {
          "dependencies": {
            "Microsoft.NETCore.App": {
              "type": "platform",
              "version": "1.0.0"
            }
          },
          "imports": "dnxcore50"
        },
        "dnx451": {}
      },
    
      "tools": {
        "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
      }
    }
    

    我尝试了dnx451net451 。 WPF项目也瞄准.net 4.5.1。 我在“.NET Core 1.0.1 VS 2015 Tooling Preview 2”中使用“Visual Studio 2015 Update 3”。


    你的project.json对库不正确。 库项目应该如下所示:

    {
      "dependencies": {
          "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0",
          "Microsoft.EntityFrameworkCore.Design": {
            "version": "1.0.0-preview2-final",
            "type": "build"
          }
      },
      "frameworks": {
        "net451": { },
        "netstandard1.3": {
          "dependencies": {
            "NETStandard.Library": "1.6.0"
          }
        }
      },
      "tools": {
        "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
      }
    }
    

    运行dotnet pack ,将生成两个DLL:一个用于.NET 4.5.1和一个用于.NET Standard 1.3(或者您希望定位的任何一个netstandard )。 .NET 4.5.1 DLL应该与您的WPF项目兼容。

    链接地址: http://www.djcxy.com/p/94191.html

    上一篇: Reference .NET Core 1.0 library from WPF

    下一篇: Cross Site Scripting issue with window.location.search