将项目转换为PCL和.NET Core给出了CS0433错误

问题描述:

我已经采取了现有项目https://github.com/cskardon/Neo4jClient/并尝试将端口转移到dotnet核心,因为peeps正在问这个问题。将项目转换为PCL和.NET Core给出了CS0433错误

到目前为止 - 我已经添加了PCL项目(​​uwp, dnxcore50, net46)和共享项目 - 转移所有代码共享的项目,然后移动的“全”的东西(如Transaction.ScopeNeo4jClient.Full的项目,所以我有。 (目前):

  • Neo4jClient(PCL)
  • Neo4jClient.Full
  • Neo4jClient.Shared

(在GitHub这里:https://github.com/cskardon/Neo4jClient/tree/Test-Portable

我有代码全部编译,我完全知道我已经失去了功能 - 但目前我感兴趣的是看看我是否可以在通过yo aspnet生成的控制台应用程序中工作VS Code

所以我生成一个NuGet包,并把我的本地的NuGet商店(也 - 如果你想尝试自己:https://www.myget.org/F/cskardon/api/v3/index.json)将其添加到我的project.json,它看起来像:

{ 
    "version": "1.0.0-*", 
    "description": "TestNeo4jClient Console Application", 
    "authors": [ "" ], 
    "tags": [ "" ], 
    "projectUrl": "", 
    "licenseUrl": "", 

    "compilationOptions": { 
    "emitEntryPoint": true 
    }, 

    "tooling": { 
    "defaultNamespace": "TestNeo4jClient" 
    }, 

    "dependencies": { 
     "Neo4jClient" : "2.0.0-PortableAlpha00001" 
    }, 

    "commands": { 
    "TestNeo4jClient": "TestNeo4jClient" 
    }, 

    "frameworks": { 
    "dnx451": { }, 
    "dnxcore50": { 
     "dependencies": { 
     "Microsoft.CSharp": "4.0.1-beta-23516", 
     "System.Collections": "4.0.11-beta-23516", 
     "System.Console": "4.0.0-beta-23516", 
     "System.Linq": "4.0.1-beta-23516", 
     "System.Threading": "4.0.11-beta-23516" 
     } 
    } 
    } 
} 

dnu restore - 一切ok

dnu build给出了这些错误:

  • ApplyProjectInfo.cs(1,29): DNX,Version=v4.5.1 error CS0433: The type 'AssemblyDescriptionAttribute' exists in both 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' and 'System.Runtime, Version=4.0.20.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
  • D:\projects\VsCode\TestNeo4jClient\Program.cs(8,18): DNX,Version=v4.5.1 error CS0518: Predefined type 'System.Object' is not defined or imported

project.json为PCL项目的样子:

{ 
    "supports": { 
    "net46.app": {}, 
    "uwp.10.0.app": {}, 
    "dnxcore50.app": {} 
    }, 
    "dependencies": { 
    "Microsoft.NETCore": "5.0.0", 
    "Microsoft.NETCore.Portable.Compatibility": "1.0.0", 
    "Newtonsoft.Json": "8.0.2", 
    "NuSpec.ReferenceGenerator": "1.4.2", 
    "System.Collections.NonGeneric": "4.0.0", 
    "System.ComponentModel": "4.0.0", 
    "System.ComponentModel.TypeConverter": "4.0.0", 
    "System.Runtime.Serialization.Primitives": "4.0.10" 
    }, 
    "frameworks": { 
    "dotnet": { 
     "imports": "portable-net452+win81" 
    } 
    } 
} 

我相信,我已经得到了PCL project.json错了 - 但我在一个头绪。

PS。该nuspec文件看起来像:

<dependencies> 
    <group targetFramework="dotnet"> 
     <dependency id="Microsoft.CSharp" version="4.0.0" /> 
     <dependency id="Microsoft.VisualBasic" version="10.0.0" /> 
     <dependency id="Newtonsoft.Json" version="8.0.2" /> 
     <dependency id="System.Collections" version="4.0.10" /> 
     <dependency id="System.Collections.NonGeneric" version="4.0.0" /> 
     <dependency id="System.ComponentModel" version="4.0.0" /> 
     <dependency id="System.ComponentModel.Annotations" version="4.0.10" /> 
     <dependency id="System.ComponentModel.TypeConverter" version="4.0.0" /> 
     <dependency id="System.Diagnostics.Debug" version="4.0.10" /> 
     <dependency id="System.Dynamic.Runtime" version="4.0.10" /> 
     <dependency id="System.Globalization" version="4.0.10" /> 
     <dependency id="System.IO" version="4.0.10" /> 
     <dependency id="System.Linq" version="4.0.0" /> 
     <dependency id="System.Linq.Expressions" version="4.0.10" /> 
     <dependency id="System.Net.Http" version="4.0.0" /> 
     <dependency id="System.Net.Primitives" version="4.0.10" /> 
     <dependency id="System.Reflection" version="4.0.10" /> 
     <dependency id="System.Reflection.Extensions" version="4.0.0" /> 
     <dependency id="System.Reflection.TypeExtensions" version="4.0.0" /> 
     <dependency id="System.Resources.ResourceManager" version="4.0.0" /> 
     <dependency id="System.Runtime" version="4.0.20" /> 
     <dependency id="System.Runtime.Extensions" version="4.0.10" /> 
     <dependency id="System.Runtime.Serialization.Primitives" version="4.0.10" /> 
     <dependency id="System.Text.Encoding" version="4.0.10" /> 
     <dependency id="System.Text.RegularExpressions" version="4.0.10" /> 
     <dependency id="System.Threading" version="4.0.10" /> 
     <dependency id="System.Threading.Tasks" version="4.0.10" /> 
    </group> 
    </dependencies> 
</metadata> 
<files> 
    <file src="Neo4jClient.Full\bin\Release\Neo4jClient.dll" target="lib\net45" /> 
    <file src="Neo4jClient.Full\bin\Release\Neo4jClient.pdb" target="lib\net45" /> 
    <file src="Neo4jClient.Full\bin\Release\Neo4jClient.xml" target="lib\net45" /> 
    <file src="Neo4jClient\bin\Release\Neo4jClient.dll" target="lib\portable-net46+uwp10.0+dnxcore50" /> 
    <file src="Neo4jClient\bin\Release\Neo4jClient.pdb" target="lib\portable-net46+uwp10.0+dnxcore50" /> 
    <file src="Neo4jClient\bin\Release\Neo4jClient.xml" target="lib\portable-net46+uwp10.0+dnxcore50" /> 
    <file src="Neo4jClient\bin\Release\Neo4jClient.dll" target="lib\dotnet" /> 
    <file src="Neo4jClient\bin\Release\Neo4jClient.pdb" target="lib\dotnet" /> 
    <file src="Neo4jClient\bin\Release\Neo4jClient.xml" target="lib\dotnet" /> 
</files> 

在这一点上与过时的DNU工具,我也不会花很多的时间,直到RC2船舶。 dotnet CLI和netstandard将有望清除很多这种混乱。

+0

王牌,好的,谢谢你的时间,这让我很生气,我会等到RC2再打这个! –