使用dnx运行我的ASP.NET核心应用程序我能够从命令行设置环境变量,然后像这样运行它:
set ASPNET_ENV = Production
dnx web
Run Code Online (Sandbox Code Playgroud)
在1.0中使用相同的方法:
set ASPNETCORE_ENVIRONMENT = Production
dotnet run
Run Code Online (Sandbox Code Playgroud)
不起作用 - 该应用程序似乎无法读取环境变量.
Console.WriteLine(Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"));
Run Code Online (Sandbox Code Playgroud)
返回null
我错过了什么?
我dnu build在Mac上使用命令构建我的控制台应用程序.输出是MyApp.dll.
事实并非如此MyApp.exe,我如何在Windows上甚至在Mac上执行它?
代码是:
using System;
class Program
{
public static void Main()
{
Console.WriteLine("Hello from Mac");
}
}
Run Code Online (Sandbox Code Playgroud) 我试图在Visual Studio 2015中使用ASP.NET Core MVC(预览期间的ASP.NET 5,现在称为ASP.Net Core)应用程序在单元测试下获得一些控制器,模型和存储库(数据访问)C#类.
我有以下结构:
Solution
|
src
|
|-- ITConsole <- main app (ASP.NET MVC, DNX 4.5.1)
|
`-- ITConsoleTests <- What kind of project should this be?
Run Code Online (Sandbox Code Playgroud)
MainApp正在使用DNX 4.5.1,但似乎如果我创建一个标准的nUnit Unit测试应用程序,它只能用作经典的.NET Framework类库,目标是.NET Framework 4.5.2,而不是Web类库.可以使用我的主应用程序.
因此,为了防止它可能作为经典的.NET框架Microsoft单元测试框架项目(.net程序集)工作,我尝试手动查找和添加引用(通过添加引用和浏览)来获取要解析的.NET依赖项.我知道.NET程序集引用很遗憾是不可传递的.因此,如果UnitTest.dll具有对MainApp.dll的引用,并且MainApp.dll依赖于ASP.NET MVC以及它依赖的所有其他内容,那么我必须自己执行此操作.这就是我想要做的.我C:\dev\Demo\ITConsole\artifacts\bin\ITConsole\Debug\dnx451\ITConsole.dll在单元测试项目中添加了一个引用,所以我可以开始编译代码了.单元测试类编译但它们不运行,可能是因为尝试添加对ASP.NET的引用.
现在,即使我添加了对Common.Logging.Core和Common.Logging的引用,当我在Test explorer上单击"Run All"时,我收到此错误:
Test Name: TestStudyLogReadDocument
Test FullName: ITConsoleTests.ITConsoleTestStudyLog.TestStudyLogReadDocument
Test Source: C:\dev\Demo\ITConsole\ITConsoleTests\ITConsoleTestStudyLog.cs : line 52
Test Outcome: Failed
Test Duration: 0:00:00.0712058
Result StackTrace:
at Couchbase.Configuration.Client.ClientConfiguration..ctor()
at ITConsole.Repository.StudyLogRepository..ctor() in C:\dev\Demo\ITConsole\src\ITConsole\Repository\StudyLogRepository.cs:line 39
at ITConsoleTests.ITConsoleTestStudyLog.SetupDb() in C:\dev\Demo\ITConsole\ITConsoleTests\ITConsoleTestStudyLog.cs:line 30
at ITConsoleTests.ITConsoleTestStudyLog.TestStudyLogReadDocument() in …Run Code Online (Sandbox Code Playgroud) 这个问题可能看起来有点愚蠢或奇怪,但我听说过很多关于.NET CLR,JIT编译器以及它是如何工作的等等等等等等......但现在我想知道它的确切位置或托管位置.
是吗 -
要么
我正在寻找关于此的详细答案.有人可能会将这个问题描述为"Windows操作系统如何在.NET运行时内触发/执行.NET可执行文件?
有人可以向我解释Mono与微软最近提供的开源/ Linux可移植.NET堆栈(CoreCLR,CoreFX,Roslyn,ASP.NET)之间的当前关系是什么?
很明显这些项目是重叠的,所以我很好奇它们的路线图是什么 - Mono会以某种方式用微软的新组件替换它们自己的组件,还是它们会以某种方式共存?
我在ASP.NNEdocumentation中遇到了以下语句
ASP.NET 5:ASP.NET的下一个版本,用于在Windows,Linux和Mac上构建Modern Web Applications的开源Microsoft平台.ASP.NET 5包含用于构建Web应用程序的MVC 6框架.它将MVC,Web API和Web页面的功能组合到一个Web框架中.ASP.NET 5还包括SignalR 3,用于向云连接的应用程序添加实时功能.
ASP.NET MVC 6:用于在ASP.NET 5平台上构建Web应用程序的框架.它具有以前版本的ASP.NET中合并的MVC,Web页面和Web API.
那么ASP.NET 5平台与MVC 6框架和SignalR之间有什么区别?
以下所有项目都有自己的版本号:
我们怎样才能弄清楚这意味着什么?