标签: coreclr

在桌面应用程序上使用.NET Core

我正在开始使用C#开发服务器,我想使用.NET Core,因为它说的是多平台,我可能有兴趣在Linux上运行它.

我安装了带有DNX的CoreCLR,如下所示:http://dotnet.readthedocs.org/en/latest/getting-started/installing-core-windows.html

但是,我想直接从Visual Studio中定位.NET Core,我没有任何选择.

我正在编写一个经典的桌面控制台应用程序,而不是ASP.NET,但是.NET Foundation的GitHub上的一些示例基于控制台应用程序,所以我想这不是问题

有人设法安装并定位.NET Core,如果是,如何?提前致谢

c# .net-core coreclr

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

如何使用DNX和ASP.NET 5实现持续交付

我已经在.net平台上工作了几年,我必须说我对微软如何使.net跨平台兼容感到印象深刻.

我花了几个小时试图在mac上运行使用CoreCLR构建的小型hello world应用程序.它奏效了.虽然还有很多我还想了解的UNKNOWNS,但有一个问题我无法在google上找到答案.

如何自动部署dnx应用程序.我的意思是,你是否将你的aspnet 5应用程序编译成一个nuget包,然后在你的linux服务器上恢复它(我从未使用过Linux,所以不确定nuget是如何在那里工作的),并运行dnx命令?或者只是拉链并将其直接推送到服务器?

对不起,这对我来说都很新鲜,所以我的问题可能听起来很愚蠢.我只是想知道什么是我可以为我的asp.net 5应用程序实现持续交付的最佳方式.我的最终目标是在linux容器上托管我的应用程序.

.net c# asp.net coreclr dnx

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

使T4MVC与ASP.NET 5一起使用

根据最新的评论这个线程,.TT模板现在毕竟可以在ASP.NET 5开始支持Visual Studio的更新1.

哪个恕我直言会很好,因为在使用T4MVC多年后,我当然不想回到使用魔术字符串作为路由/视图名称(容易出错且不重构友好).

但是,我无法使用ASP.NET 5 RC和Visual Studio Professional 2015 Update 1.

这是我尝试过的:

  1. T4MVC NuGet(3.16.5)添加到空白的ASP.NET 5解决方案:nope,CoreCLR抱怨并且没有.tt文件添加到项目中:

错误NU1002项目WebApplication1中的依赖关系T4MVCExtensions 3.16.5不支持框架DNXCore,Version = v5.0.

  1. 在的NuGet添加到经典的ASP.NET 4.6的解决方案和手动复制了T4MVC.tt,T4MVC.tt.hooks.t4T4MVC.tt.settings.xml给ASP.NET 5解决方法:Visual Studio中的.TT文件确实提供了"运行自定义工具" ....

在此输入图像描述

...但是运行转换会抛出NullReferenceException:

Severity    Code    Description Project File    Line    Suppression State
Error       Running transformation: System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.VisualStudio.TextTemplating3FE65EE761BB32C4AE5AEEB1949A6FC143551E0A56C74E6B36511A416E2DE40FB92F7CB1BC6FC7A97FF5B622AE39377BBFB9463480555898ADB8DD6D286C533D.GeneratedTextTransformation.GetProjectItem(ProjectItems items, String subPath) in c:\dev\MyApp\WebApplication3\src\WebApplication3\T4MVC.tt:line 1398
   at Microsoft.VisualStudio.TextTemplating3FE65EE761BB32C4AE5AEEB1949A6FC143551E0A56C74E6B36511A416E2DE40FB92F7CB1BC6FC7A97FF5B622AE39377BBFB9463480555898ADB8DD6D286C533D.GeneratedTextTransformation.GetProjectItem(Project project, String name) in c:\dev\MyApp\WebApplication3\src\WebApplication3\T4MVC.tt:line 1378 …
Run Code Online (Sandbox Code Playgroud)

asp.net t4mvc coreclr asp.net-core r4mvc

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

为什么在带有 SOS 和 .Net Core 3.1 的 Windbg 中使用 !bpmd 没有触发我的断点?

最近学习了用sos在Windbg中调试托管代码的过程。我查看了许多示例,从我所看到的来看,这应该可行。但事实并非如此。这是一个 .net 核心 3.1 应用程序。

我只是想打破下面非常简单的 Main 方法。

namespace ConsoleAppTest
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello Console App!");
            ThisPrints();
        }

        static void ThisPrints()
        {
            Console.WriteLine("This is a message");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的流程如下

  1. 附加到 Windbg 中的 ConsoleAppTest.exe
  2. 执行 sxe ld clrjit
  3. g 这些步骤产生以下输出:
0:000> g
ModLoad: 00007ffe`a0900000 00007ffe`a0930000   C:\Windows\System32\IMM32.DLL
ModLoad: 00007ffe`7df70000 00007ffe`7e004000   C:\Program Files\dotnet\host\fxr\3.1.8\hostfxr.dll
ModLoad: 00007ffe`64ef0000 00007ffe`64f82000   C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.8\hostpolicy.dll
ModLoad: 00007ffe`3c600000 00007ffe`3cb6f000   C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.8\coreclr.dll
ModLoad: 00007ffe`9fbb0000 00007ffe`9fcda000   C:\Windows\System32\ole32.dll
ModLoad: 00007ffe`9f690000 00007ffe`9f9e5000   C:\Windows\System32\combase.dll
ModLoad: 00007ffe`a0830000 00007ffe`a08fd000   C:\Windows\System32\OLEAUT32.dll
ModLoad: …
Run Code Online (Sandbox Code Playgroud)

c# windbg sos .net-core coreclr

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

可以在CoreCLR上使用'async'修饰符标记入口点吗?

在Stephan Cleary最近关于.NET CoreCLR上的异步控制台应用程序的博客文章中,他向我们展示了在CoreCLR中(目前在Visual Studio 2015上运行,CTP6),入口点"Main"实际上可以标记为async Task,正确编译并实际运行:

public class Program
{
    public async Task Main(string[] args)
    {
        Console.WriteLine("Hello World");
        await Task.Delay(TimeSpan.FromSeconds(1));
        Console.WriteLine("Still here!");
        Console.ReadLine();
    }
}
Run Code Online (Sandbox Code Playgroud)

给出以下输出:

async主要入口点

这是由ASP.NET团队的一篇名为"深度潜入"的博客文章强化到ASP.NET 5运行时:

除了静态Program.Main入口点之外,KRE还支持基于实例的入口点.您甚至可以使主入口点异步并返回任务.通过使主入口点成为实例方法,您可以将运行时环境中的服务注入到应用程序中.

我们知道,到目前为止,无法使用'async'修饰符标记入口点.那么,在新的CoreCLR运行时中,这实际上是如何实现的呢?

.net c# async-await coreclr

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

(http)coreclr/dnxCore中的Web请求提供程序?

是否有可用于执行Web请求/基本GET下载的提供程序coreclr?(.net core)

两者System.Net.WebclientHttpWebRequest/HttpWebResponse没有用,我意识到它的目的是在服务内容,而不是消费,而是基本的字符串下载看起来像是真的应该被列入?

我忘记了什么,或者只是直接不可能?

我可以默认使用完整的dnx,但实际上不会丢失并失去跨平台兼容性.

c# asp.net coreclr asp.net-core

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

我在哪里可以获得Windows 10 IoT的SOS?

我有一个在Raspberry Pi 2,Windows 10 IoT上运行的.NET Universal App的转储:

0:000> vertarget
Windows 10 Version 10240 MP (4 procs) Free ARM (NT) Thumb-2
Product: WinNt, suite: SingleUserTS
Built by: 10.0.10240.16384 (th1.150709-1700)
Run Code Online (Sandbox Code Playgroud)

我看到它coreclr像之前使用的Silverlight一样.

0:000> lm vm coreclr
start    end        module name
6e430000 6e7fd000   coreclr    (export symbols)       coreclr.dll
    Loaded symbol image file: coreclr.dll
    ...
    Timestamp:        Thu Jul 16 21:37:39 2015 (55A88693)
    ...
    File version:     4.6.23117.0
    Product version:  4.0.23117.0
Run Code Online (Sandbox Code Playgroud)

执行a !analyze -v不会自动下载SOS.

加载我在PC上找到的SOS Silverlight版本表示版本错误:

0:000> .load C:\Program Files\Microsoft Silverlight\5.1.20513.0\sos.dll

0:000> !threads
The version …
Run Code Online (Sandbox Code Playgroud)

c# windbg sos coreclr windows-10-iot-core

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

修改MVC 6项目中的解决方案级别文件以安装新布局

我有一个MVC 6(ASP.NET 5)解决方案,我想有一种方法可以在Visual Studio 2015中轻松"安装"新的布局.

我有以下文件

~/Views/Shared/_Layout.cshtml 
~/Views/Shared/{NewLayoutName}/_Header.cshtml 
~/Views/Shared/{NewLayoutName}/_Footer.cshtml 
~/wwwroot/css/{NewLayoutName}.{version}.css
~/wwwroot/css/{NewLayoutName}.{version}.{theme}.css
Run Code Online (Sandbox Code Playgroud)

理想的解决方案是备份任何将被覆盖的文件,例如_Layout.cshtml文件,并在卸载时返回.然后文件将出现在已安装的项目中.我应该能够从Visual Studio 2015创建一个新的MVC 6应用程序并快速"安装此布局".

我试过Nuget和Bower.我会尝试Powershell,但我听说这就是为什么Nuget不起作用的原因.

Bower似乎只适用于客户端软件包.

我尝试使用Nuget Package Explorer创建包并创建文件夹结构的每个变体(src,工具,内容,"普通"文件夹,本机).

我认为Nuget对此非常完美,但看起来Nuget甚至无法将css或js添加到MVC 6项目中.我认为这是一个Powershell问题.

  1. Nuget的github开放问题#1521
  2. StackOverflow:通过Nuget添加后,MVC 6引用Jquery

nuget-package asp.net-core-mvc coreclr asp.net-core

6
推荐指数
0
解决办法
204
查看次数

你如何在 coreCLR 中设置 gcAllowVeryLargeObjects?

既然没有 a app.config,您如何将 gcAllowVeryLargeObjects 设置为 true 以便您可以分配大数组?

coreclr asp.net-core

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

无法在 i386 Ubuntu 16.04 Xenial 上安装 .NET Core

我按照https://www.microsoft.com/net/core#ubuntu 和其他地方提到的步骤使用 i386 而不是 amd64。但遇到以下错误。请帮忙。

配备i386

sudo apt-get 更新

[...] Get:4 https://apt-mo.trafficmanager.net/repos/dotnet xenial InRelease [2,819 B] 在 2 秒内获取 97.3 kB (42.6 kB/s) 读取包列表...完成 N:跳过获取配置文件“main/binary-i386/Packages”作为存储库“ https://apt-mo.trafficmanager.net/repos/dotnet xenial InRelease”不支持架构“i386”

在这两种情况下 i386 或 amd64 sudo apt-get install dotnet-dev-1.0.0-preview2-003121

读取包列表...完成 构建依赖关系树
读取状态信息...完成 E: 无法找到包 dotnet-dev-1.0.0-preview2-003121 E: 无法通过 glob 'dotnet-dev-1.0 找到任何包.0-preview2-003121' E:无法通过正则表达式'dotnet-dev-1.0.0-preview2-003121'找到任何包

i386 coreclr ubuntu-16.04

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