标签: .net-core-rc2

一个或多个软件包与.NETStandard,Version = v1.5不兼容

我创建了一个新的.NET Core类库,并从内部公司Nuget服务器添加了一个Nuget包.我开始收到以下错误:

包XXXX与netstandard1.5(.NETStandard,Version = v1.5)不兼容.软件包XXXX 1.0支持:net45(.NETFramework,Version = v4.5)一个或多个软件包与.NETStandard,Version = v1.5不兼容.

我更新了project.json文件,看起来像这样,但同样的错误仍然存​​在.

{
  "version": "1.0.0-*",

  "dependencies": {
    "XXXXX": "1.0.0",
    "NETStandard.Library": "1.5.0-rc2-24027"
  },

  "frameworks": {
    "netstandard1.5": {
      "imports": [
        "dnxcore50",
        "portable-net45+win8"
      ]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

有没有人对此有所了解?

.net .net-core .net-core-rc2

9
推荐指数
1
解决办法
1万
查看次数

大数组如何分配内存?

我正在寻找一种方法将大的3D稀疏数组结构保存到内存中而不会浪费大量内存.在这里,我做了一个longs数组的实验:

using System;
using System.Diagnostics;
using System.Runtime;

namespace ConsoleApp4
{
    public class Program
    {
        static Process proc = Process.GetCurrentProcess();
        const int MB = 1024 * 1024;
        const int IMAX = 5;
        const int JMAX = 100000000;
        public static void ShowTextWithMemAlloc(string text)
        {
            proc.Refresh();
            Console.WriteLine($"{text,-30}WS64:{proc.WorkingSet64/MB,5}MB  PMS64:{proc.PrivateMemorySize64/MB,5}MB");
            Console.ReadKey();
        }
        public static void Main(string[] args)
        {
            Console.Write(" ");
            ShowTextWithMemAlloc("Start.");
            long[] lArray = new long[IMAX * JMAX];
            long[] l1Array = new long[IMAX * JMAX];
            long[] l2Array = new long[IMAX * JMAX];
            long[] l3Array = …
Run Code Online (Sandbox Code Playgroud)

c# arrays .net-core-rc2

8
推荐指数
1
解决办法
392
查看次数

.Net核心类库的条件编译符号

我创建了一个.Net Core R2类库,它有一些我用于几个不同平台的常用代码.某些代码在.Net Core平台中无效,因此我希望将其包含在条件编译符号中.我首先搜索了互联网,看看我是否能找到一个内置符号(如Silverlight应用程序的SILVERLIGHT和Windows 8应用程序的WINFX_CORE),但无法找到任何信息,所以我决定创建自己的符号.这似乎也不起作用.

从我阅读的所有内容中添加和使用符号应该很简单,只需在Project Properties中为条件编译符号添加一个值即可 构建标签.我做到了,但似乎确实有效.这里有几个屏幕截图......

在此输入图像描述

在此输入图像描述

请注意,我NET_CORE在条件编译符号中添加了一个值,但是当我在代码中使用它时,代码不会被忽略.

1)是否有人知道.Net Core平台是否有内置符号(我使用的是R2)?

2)如果没有,我在创建自己的符号时做错了什么?

.xproj文件:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
  </PropertyGroup>
  <Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.Props" Condition="'$(VSToolsPath)' != ''" />
  <PropertyGroup Label="Globals">
    <ProjectGuid>253184d7-9b42-4233-a871-8cfa3ee9e83e</ProjectGuid>
    <RootNamespace>Linq2Db.NetCore</RootNamespace>
    <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">.\obj</BaseIntermediateOutputPath>
    <OutputPath Condition="'$(OutputPath)'=='' ">.\bin\</OutputPath>
    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
    <SccProjectName>SAK</SccProjectName>
    <SccProvider>SAK</SccProvider>
    <SccAuxPath>SAK</SccAuxPath>
    <SccLocalPath>SAK</SccLocalPath>
  </PropertyGroup>
  <PropertyGroup>
    <SchemaVersion>2.0</SchemaVersion>
  </PropertyGroup>
  <Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.targets" Condition="'$(VSToolsPath)' != ''" />
</Project>
Run Code Online (Sandbox Code Playgroud)



更新: 我能够使用提供的答案中的链接解决此问题.这是细节......

最初project.json文件看起来像这样......

{
  "dependencies": {
        "NETStandard.Library": "1.5.0-rc2-24027"
  },
  "frameworks": {
    "netstandard1.5": {
      "imports": …
Run Code Online (Sandbox Code Playgroud)

c# conditional-compilation .net-core-rc2

8
推荐指数
2
解决办法
9341
查看次数

如何在.NET Core RC2控制台应用程序(Linux,Debian 8)中使用System.Data?

我在Debian 8 amd64系统上安装了.NET Core RC2,并想测试是否可以查询Microsoft SQL Server实例.

所以我想在我的项目中添加对System.Data.SqlClient程序集的依赖.

目前,通过运行dotnet newCLI工具创建的项目文件如下所示:

{
  "version": "1.0.0-*",
  "buildOptions": {
    "emitEntryPoint": true
  },
  "dependencies": {
    "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.0.0-rc2-3002702"
    }
  },
  "frameworks": {
    "netcoreapp1.0": {
      "imports": "dnxcore50"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

使用这个类似查询的答案,我能够添加一个System.Data.Common更改的引用

"frameworks": {
  "netcoreapp1.0": {
    "imports": "dnxcore50"
  }
}
Run Code Online (Sandbox Code Playgroud)

片段到

"frameworks": {
  "netcoreapp1.0": {
    "imports": "dnxcore50",
    "dependencies": {
      "System.Data.Common": "*"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

dotnet restore使用NuGet下载了一堆东西.

然后我尝试将该片段更改为读取

"frameworks": {
  "netcoreapp1.0": {
    "imports": …
Run Code Online (Sandbox Code Playgroud)

c# linux .net-core .net-core-rc2

7
推荐指数
1
解决办法
2万
查看次数

如何从RC2中的.NET核心类库引用Entity Framework 6?

我有一个.NET核心类库,我想从中引用Entity Framework 6.1.3.这是我的project.json:

{
  "version": "1.0.0-*",

  "dependencies": {
    "NETStandard.Library": "1.5.0-rc2-24027",
    "EntityFramework": "6.1.3" 
  },

  "frameworks": {
    "netstandard1.5": {
      "imports": "dnxcore50"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我收到此编译错误:

依赖EntityFramework 6.1.3不支持框架.NETStandard,Version = v1.5.

所以我尝试将NetStandard.Library依赖项切换到Microsoft.NETCore.App,如下所示:

{
  "version": "1.0.0-*",

  "dependencies": {
    "Microsoft.NETCore.App": {
    "version": "1.0.0-rc2-3002702",
    "type": "platform"
    },
    "EntityFramework": "6.1.3"
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "dnxcore50",
        "portable-net45+win8"
      ]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我之前得到了一个smilar编译错误:

依赖项EntityFramework 6.1.3不支持框架.NETCoreApp,Version = v1.0

基本上,这使我无法从.NET核心引用Entity Framework 6.1.3.

我可以从.NET核心类库中引用EF Core,但这不是我现在想做的事情.

这个问题有方法解决吗?

entity-framework-6 entity-framework-core .net-core .net-core-rc2

7
推荐指数
1
解决办法
8627
查看次数

模型集合上的ModelBinding

我正在尝试创建一个非常简单的表单来回发模型集合中的一些值

当我单击提交,并查看返回的集合时,它不包含任何对象.我还认为asp-for不会生成我期望的集合索引.

我有一个简单的模型

public class CustomModel
{
    public int Id { get; set; }
    public string Question { get; set; }
    public string Answer { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是我的观点

@model ICollection<CustomModel>
<form asp-action="Index" asp-controller="Home" method="POST">
<table>
    @foreach (var m in Model)
    {
        <tr>
            <td><label asp-for="@Model">@m.Question</label><input asp-for="@m.Answer"/></td>
        </tr>
    }
</table>
<input type="submit" value="save" />
Run Code Online (Sandbox Code Playgroud)

呈现页面时的外观示例:

<tr>
            <td><label>Your name?</label><input type="text" id="m_Answer" name="m.Answer" value="" /></td>
        </tr>
        <tr>
            <td><label>Your Age?</label><input type="text" id="m_Answer" name="m.Answer" value="" /></td>
        </tr>
Run Code Online (Sandbox Code Playgroud)

这是我假设它会有一个索引,但它看起来像是将每一行视为一个神经模型而不是一组模型.

我在这做错了什么?这是一个错误,还是设计?

Github测试项目 https://github.com/lasrol/TestModelBindingList

asp.net-core .net-core-rc2

7
推荐指数
1
解决办法
4150
查看次数

在ASP.NET Core应用程序(RC2)中使用net451库

我正在尝试将我的ASP.NET 5 RC1项目升级到ASP.NET Core RC2项目.我遇到了一些问题,因为我使用的是尚未支持.NET Core的库,所以我必须在完整的框架上运行.这在RC1中运行良好,但我无法找到在RC2中实现这一目标的正确方法.

我有一个类库,可以恢复包并正确构建.我有一个引用类库的测试项目.当我尝试构建测试项目时,我收到以下错误:

> dotnet build
Project TenantService (.NETFramework,Version=v4.5.1) was previously compiled. Skipping compilation.
Project TenantServiceTests (.NETCoreApp,Version=v1.0) will be compiled because expected outputs are missing
Compiling TenantServiceTests for .NETCoreApp,Version=v1.0
C:\projects\TenantService\test\TenantServiceTests\project.json(25,23): error NU1001: The dependency mscorlib could not be resolved.
C:\projects\TenantService\test\TenantServiceTests\project.json(9,31): error NU1001: The dependency mscorlib could not be resolved.
C:\projects\TenantService\test\TenantServiceTests\project.json(25,23): error NU1001: The dependency mscorlib could not be resolved.
C:\projects\TenantService\test\TenantServiceTests\project.json(9,31): error NU1001: The dependency mscorlib could not be resolved.
C:\projects\TenantService\test\TenantServiceTests\project.json(26,21): error NU1001: The dependency System could …
Run Code Online (Sandbox Code Playgroud)

xunit.net project.json asp.net-core .net-core-rc2

6
推荐指数
1
解决办法
1539
查看次数

在Visual Studio中还原时的"未知关键字平台"

我正在将项目从.NET Core RC1转换为RC2.我已经安装了Visual Studio工具预览包并将VS Nuget插件更新到最新版本.

这是一个测试项目,所以我需要添加Microsoft.NETCore.App到我的project.json每个库指南.它看起来像这样:

{
  "dependencies": {
    "dotnet-test-xunit": "1.0.0-rc2-build10015",
    "FluentAssertions": "4.2.1",
    "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-final",
    "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.0.0-rc2-3002702"
    },
    "xunit": "2.1.0"
  },
  "frameworks": {
    "netcoreapp1.0": {
      "imports": [ "dotnet", "portable-net45+win8" ]
    }
  },
  "testRunner": "xunit",
}
Run Code Online (Sandbox Code Playgroud)

该项目在命令行(dotnet restore/build)上恢复和构建.但是,当Visual Studio尝试还原包时,我收到此错误:

PATH=.\node_modules\.bin;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External;%PATH%;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\git
C:\Users\Nate\.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc2-20221\bin\dnx.exe "C:\Users\Nate\.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc2-20221\bin\lib\Microsoft.Dnx.Tooling\Microsoft.Dnx.Tooling.dll" restore "C:\Users\Nate\Documents\stormpath-dotnet-config\test\Stormpath.Configuration.Test"
Microsoft .NET Development Utility Clr-x86-1.0.0-rc2-20221
  CACHE https://api.nuget.org/v3/index.json
Restoring packages for C:\Users\Nate\Documents\stormpath-dotnet-config\test\Stormpath.Configuration.Test\project.json
----------
C:\Users\Nate\Documents\stormpath-dotnet-config\test\Stormpath.Configuration.Test\project.json(0,0): Error: Microsoft.Dnx.Runtime.FileFormatException: …
Run Code Online (Sandbox Code Playgroud)

nuget visual-studio-2015 .net-core .net-core-rc2

6
推荐指数
1
解决办法
3626
查看次数

.NET Core RC2 applicationhost.config与ASP.NET .NET 4.6不兼容?

给出包含两个网站的解决方案:

1)基于.NET 4.61的ASP.NET

2).NET Core RC2

启动iisexpress for(2)后,MSVS更新applicationhost.config以包含一些看似与(1)不兼容的额外行.直到iisexpress首次关闭然后尝试启动(1)才会注意到这一点.

不兼容的行是:

<section name="aspNetCore" overrideModeDefault="Allow" />

<add name="AspNetCoreModule" image="C:\Program Files (x86)\Microsoft Web Tools\AspNetCoreModule\aspnetcore.dll" />

<add name="AspNetCoreModule" />
Run Code Online (Sandbox Code Playgroud)

启动(1)时,会出现一个对话框,指出"IISExpress无法启动"并写入一个事件:

由于配置问题,无法加载模块DLL"C:\ Program Files(x86)\ Microsoft Web Tools\AspNetCoreModule\aspnetcore.dll".当前配置仅支持加载为AMD64处理器体系结构构建的映像.数据字段包含错误编号.要了解有关此问题的详细信息,包括如何解决此类处理器体系结构不匹配错误,请参阅http://go.microsoft.com/fwlink/?LinkId=29349.

可能的解决方案?

A)在启动之前删除多余的行(1),如何自动实现?

B)为每个网站使用不同的applicationhost.config,是否有环境变量来设置它?

C)直接修复事件日志中报告的问题.不知何故,它在启动.NET Core RC2站点时起作用,这很奇怪.

D)使用恰好位于不同目录中的单独解决方案文件.这是不可取的,因为它是一个相当复杂的解决方案.

asp.net iis-express asp.net-core .net-core-rc2

6
推荐指数
1
解决办法
2775
查看次数

编译netcoreapp1.0,其代码包含#if!NETSTANDARD1_6等Target Framework Monikers

我的项目依赖项存在问题,Target Framework Monikers喜欢:

#if !NETSTANDARD1_6
Run Code Online (Sandbox Code Playgroud)

当我为netcoreapp1.0编译时,我有一个编译错误,但netcoreapp1.0支持NETStandart1.6,而我想在应用程序中使用这部分代码.

asp.net-core-mvc .net-core asp.net-core .net-core-rc2

6
推荐指数
1
解决办法
251
查看次数