我创建了一个新的.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)
有没有人对此有所了解?
我正在寻找一种方法将大的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) 我创建了一个.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) 我在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) 我有一个.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
我正在尝试创建一个非常简单的表单来回发模型集合中的一些值
当我单击提交,并查看返回的集合时,它不包含任何对象.我还认为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)
这是我假设它会有一个索引,但它看起来像是将每一行视为一个神经模型而不是一组模型.
我在这做错了什么?这是一个错误,还是设计?
我正在尝试将我的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) 我正在将项目从.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) 给出包含两个网站的解决方案:
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)使用恰好位于不同目录中的单独解决方案文件.这是不可取的,因为它是一个相当复杂的解决方案.
我的项目依赖项存在问题,Target Framework Monikers喜欢:
#if !NETSTANDARD1_6
Run Code Online (Sandbox Code Playgroud)
当我为netcoreapp1.0编译时,我有一个编译错误,但netcoreapp1.0支持NETStandart1.6,而我想在应用程序中使用这部分代码.
.net-core-rc2 ×10
.net-core ×5
asp.net-core ×4
c# ×3
.net ×1
arrays ×1
asp.net ×1
iis-express ×1
linux ×1
nuget ×1
project.json ×1
xunit.net ×1