标签: coreclr

微软开源.NET后,CoreCLR和项目Mono关系

有人可以向我解释Mono与微软最近提供的开源/ Linux可移植.NET堆栈(CoreCLR,CoreFX,Roslyn,ASP.NET)之间的当前关系是什么?

很明显这些项目是重叠的,所以我很好奇它们的路线图是什么 - Mono会以某种方式用微软的新组件替换它们自己的组件,还是它们会以某种方式共存?

.net mono .net-core coreclr

13
推荐指数
1
解决办法
1877
查看次数

如何更改默认的dnx版本是Visual Studio Code?

我不确定它是否可行,但我想在dnx时更改dnx版本.从Visual Studio代码运行.

即使我目前的dnx版本是1.0.0-beta5-11682 coreclr Visual Studio Code运行1.0.0-beta4 mono

是否可以更改Visual Studio Code的默认dnx版本?

一些设置

mono .net-core coreclr visual-studio-code

13
推荐指数
2
解决办法
8091
查看次数

在ASP.NET Core 1.0中引用库(vNext)

我正在学习ASP.NET Core 1.0(vNext).考虑到这一点,我有一个结构如下的解决方案:

MySolution
  src
    MyLibrary
      MyClass.cs
      project.json
    MyWebSite
      Startup.cs
      project.json
Run Code Online (Sandbox Code Playgroud)

我正在MyLibrary使用命令行成功编译dnu build.我跑了dnu pack哪个生成了MyLibrary.1.0.0.nupkg.也有两个文件夹:dnx451dnxcore50这两者都含有MyLibrary.1.0.0.dll.我想用MyLibraryMyWebSite,但是,我很困惑.

  1. 我怎么"包括" MyLibraryMyWebSite?我手动复制.dll文件吗?如果是这样,哪一个?我应该使用该nupkg文件吗?这是一个私有程序集,我不想通过NuGet全局发布它.
  2. 我该怎么做MyWebSite/project.json才能参考这个MyLibrary装配?

.net c# .net-assembly coreclr asp.net-core

13
推荐指数
2
解决办法
2115
查看次数

MemoryCache.Default在.NET Core中不可用?

我正在从.NET 4.6到.NET Core移植一些代码,并且遇到了MemoryCache的一些问题.4.6代码使用MemoryCache.Default来实例化缓存,但这似乎在.NET Core中不可用.在.NET Core中是否有相同的内容,或者我是否应该将我自己的MemoryCache作为单例创建并通过IOC注入它?

.net c# memorycache coreclr dnx

13
推荐指数
2
解决办法
9283
查看次数

如何从Linux中删除以前版本的.NET Core(CentOS 7.1)

我想安装当前版本的Core 1.0.目前已安装RC2版本.官方网站上的说明如下:

在开始之前,请从系统中删除任何以前版本的.NET Core.

但我不知道怎么样,而且我在这里找不到像微软这样的东西.

我找到了这个脚本 ......但我的Linux技能不是很好,我也不会做得最差.

linux asp.net .net-core coreclr asp.net-core

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

获取CoreCLR中的可用类型

这很容易获得旧.NET中的所有可用类型(例如某些接口),但我无法在新的CoreCLR中找到如何做到这一点的方法.

我想要做的是拥有像GetRepository这样的函数,它应该查找IRepository的现有实现并返回该类型的新实例.实施将位于不同的项目中.

所以,在.NET中我可以使用这样的东西:

AppDomain.CurrentDomain.GetAssemblies().SelectMany(a => a.GetTypes())
Run Code Online (Sandbox Code Playgroud)

我现在对CoreCLR唯一的解决方案是:

public T GetRepository<T>()
{
  foreach (Type type in typeof(T).GetTypeInfo().Assembly.GetTypes())
    if (typeof(T).IsAssignableFrom(type) && type.GetTypeInfo().IsClass)
      return (T)Activator.CreateInstance(type);

  return default(T);
}
Run Code Online (Sandbox Code Playgroud)

但它只有在接口和实现位于同一个程序集中时才有效(这不是我的情况).

谢谢!

c# coreclr dnx

12
推荐指数
1
解决办法
3309
查看次数

如何在ASP.NET Core 1.0 RC2中将实例注册到ServiceCollection

我正在将我的Web应用程序从ASP.NET Core RC1迁移到RC2.在RC2中IServiceCollection,不再具有该AddInstance方法.如何注册配置?

这是如何在RC1中完成的

public class Startup
{
    public IConfiguration Configuration { get; set; }

    public void ConfigureServices(IServiceCollection services)
    {
        // AddInstance doesn't exist
        services.AddInstance<IConfiguration>(Configuration);        
        .
        .       
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net coreclr asp.net-core-1.0

12
推荐指数
1
解决办法
6228
查看次数

Decimal.Round()如何抛出OverflowException

我正在使用

Decimal.Round(decimal d)
Run Code Online (Sandbox Code Playgroud)

MSDN说它可以抛出OverflowException https://msdn.microsoft.com/en-us/library/k4e2bye2(v=vs.110).aspx

我不确定如何发生这种情况.我尝试使用ilSpy查看实现并获得直到外部实现:

// decimal
[SecurityCritical]
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void FCallRound(ref decimal d, int decimals);
Run Code Online (Sandbox Code Playgroud)

有没有人知道什么输入可以抛出这个异常?

c# decimal overflowexception coreclr

11
推荐指数
1
解决办法
506
查看次数

如何从发布中排除某些 appsettings 文件

我有asp.net core 2 应用程序。根据文档,.pubxml为我的开发环境创建了文件。我正在使用 Web 部署(远程代理)将 Web 包部署到目标 Web 服务器。在我们安装了 jenkins 的构建服务器上,我运行以下命令来构建和部署

D:\Jenkins\myproject\workspace\myapplication\Src\Api>dotnet publish Api.csproj /p:PublishProfile=development.pubxml
Run Code Online (Sandbox Code Playgroud)

它成功构建应用程序并将其部署到目标 Web 服务器。

但是,我的应用程序有多个appsettings特定于每个环境的文件。例如appsettings.jsonappsettings.development.jsonappsettings.staging.jsonappsettings.production.json部署过程部署所有的AppSettings文件到Web服务器。(在这种情况下开发网络服务器)

我如何只包含特定于环境的 appsettings 文件?(在这种情况下,我想部署appsettings.jsonappsettings.development.json但不是其他 2 个文件)

msbuild web-deployment-project web-deployment coreclr asp.net-core-2.0

11
推荐指数
2
解决办法
4908
查看次数

Visual Studio 无法附加到 coreCLR。访问被拒绝

我在 Dot.net Core 2.0 中创建了一个控制台应用程序,当我运行时,我收到无法附加到 CoreCLR 的消息。访问被拒绝

在此输入图像描述

我尝试过清理、删除 bin 和 obj 中的文件,也尝试在 86x 下运行,但找不到解决此问题的任何方法。

visual-studio visual-studio-debugging .net-core coreclr

11
推荐指数
2
解决办法
8502
查看次数