标签: coreclr

我们可以通过.net native编译asp.net 5应用程序吗?

.net生态系统中.net native的作用对我来说很困惑.我听说它只适用于通用的Windows应用程序,但也听说它是CoreFX的一部分.我认为可以选择编译为.net native可以有很多优点(包括性能).

是否有可能将我的asp.net应用程序(特别是asp.net 5)编译为.net native?

.net asp.net .net-native coreclr

5
推荐指数
1
解决办法
1671
查看次数

为什么我们需要dnx或跨平台的网络

根据我的理解,提供DNX(.Net执行环境)来支持跨平台的Web应用程序,这听起来不错,但如果它支持桌面应用程序会更有用.

为什么需要基于Web的跨平台应用程序?通常一个Web应用程序/网站托管一次,在Windows机器上的IIS上托管它应该不是问题.DNX是否存在我完全缺失的问题,或者它对于基于桌面/控制台的应用程序是否有用.

c# asp.net c#-6.0 coreclr dnx

5
推荐指数
1
解决办法
85
查看次数

如何确定dnu/dotnet发布的输出文件夹

当我发布我的项目时

dotnet publish

它输出到一个文件夹

bin/Debug/dnxcore50/osx.10.11-x64/publish

(或者可能是Release等价物)

是否可以为project.json文件中指定的postpublish脚本确定此文件夹位置?

coreclr dnx dotnet-cli

5
推荐指数
1
解决办法
1200
查看次数

如何在ASP.NET Core 1.0 RC2中加载程序集

将我的Web应用程序从ASP.NET Core RC1迁移到RC2.我正在尝试加载我引用的类库.

此代码段不再适用于RC2.

public class Startup
{  
    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        // libraryManager is null .... 
        ILibraryManager libraryManager = app.GetService<ILibraryManager>();

        List<Assembly> result = new List<Assembly>();

        IEnumerable<Library> libraries = libraryManager.GetLibraries();

        IEnumerable<AssemblyName> assemblyNames = libraries.SelectMany(e => e.Assemblies).Distinct();
        assemblyNames = Enumerable.Where(assemblyNames, e => e.Name.StartsWith("projectNamespace"));

        foreach (AssemblyName assemblyName in assemblyNames)
        {
            Assembly assembly = Assembly.Load(assemblyName);
            .
            .
            .
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

非常感谢我们的帮助,谢谢Stefan

.net asp.net coreclr

5
推荐指数
1
解决办法
2996
查看次数

Cake Build使用DotNetCoreBuild别名设置完整版

我正在使用ParseReleaseNotesCake中的别名来管理我的版本控制,使用一个项目工作正常,我用CreateAssemblyInfo别名修补程序集信息.

现在项目不使用csproj而是project.json我希望实现相同的功能,而程序集信息不是project.json的真正选项.

检查DotNetCoreBuild(string, ?DotNetCoreBuildSettings)?它和它DotNetCoreBuildSettings只是一种方法来设置版本的部分通过它的VersionSuffix属性.

是否有Cake别名/设置来实现这一点,还是可以从Cake修补project.json?

c# coreclr cakebuild

5
推荐指数
2
解决办法
855
查看次数

项目"XXXXXX"没有锁定文件.请运行"dotnet restore"以生成新的锁定文件

我有ASP.NET Core Web API项目和.Net Core Library项目.Web API将库项目引用为target : project.库项目的名称是Transformations.
下面是两个项目的project.json

用于Web API的project.json

"dependencies": {
   "Microsoft.NETCore.App": {
    "version": "1.0.0",
    "type": "platform"
  },
   "Microsoft.ApplicationInsights.AspNetCore": "1.0.0",
   "Microsoft.AspNetCore.Mvc": "1.0.0",
   "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
   "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
   "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
   "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
   "Microsoft.Extensions.Configuration.Json": "1.0.0",
   "Microsoft.Extensions.Logging": "1.0.0",
   "Microsoft.Extensions.Logging.Console": "1.0.0",
   "Microsoft.Extensions.Logging.Debug": "1.0.0",
   "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
   "Transformations": {
            "target": "project"
    },
   "Microsoft.Extensions.DependencyInjection": "1.0.0",
   "Serilog.Extensions.Logging": "1.3.0-dev-10125",
   "Serilog.Sinks.RollingFile": "3.0.0",
   "Serilog.Settings.Configuration": "2.1.0",
   "Microsoft.AspNetCore.Diagnostics": "1.0.0"
},
Run Code Online (Sandbox Code Playgroud)

project.json for Library项目

{
  "version": "1.0.0-*",

  "dependencies": {
    "NETStandard.Library": "1.6.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0"
  }, …
Run Code Online (Sandbox Code Playgroud)

asp.net-core-mvc coreclr asp.net-core asp.net-core-1.0 asp.net-core-webapi

5
推荐指数
1
解决办法
4056
查看次数

将dotnet核心(.NET Core)嵌入到Windows/Linux上的本机应用程序中

是否有可能将dotnet核心(.NET Core)环境嵌入到本机进程中?

我的用例是现有的游戏服务器,我想在Windows和Linux上使用C#在.NET Core上扩展游戏.

奖金问题:是否还会出现AppDomain像"oldschool".NET一样的概念?

c# linux windows .net-core coreclr

5
推荐指数
1
解决办法
487
查看次数

内容安全策略在Internet Explorer 11中不起作用

在我的每个响应的asp.net核心应用程序中,我正在添加内容安全策略标头.我理解,对于IE,标题名称是X-Content-Security-Policy和其他浏览器一样,如chromeContent-Security-Policy

标题值看起来如下所示nonce每个响应的不同之处.

default-src 'none';   
script-src 'self' 'nonce-somerandomvalue-differnt-foreach-reasone' 'unsafe-eval';  
style-src 'self' 'unsafe-inline';   
img-src 'self' data:;   
font-src 'self';    
object-src 'self';   
connect-src 'self';   
report-uri /csp/report;   
Run Code Online (Sandbox Code Playgroud)

该应用程序在几页上使用内联JavaScript.因此,要修复内联脚本违规,我nonce在脚本标记中添加相同的值.
<script type="text/javascript" nonce="somerandomvalue-differnt-foreach-reasone">
这里重要的是nonce值需要与header中的nonce值匹配.这里有一些细节

我实现了中间件和tag-helper,它们分别将nonce添加到header和script标签中.我确保nonce在页面渲染时两个值都匹配.

然后只是为了在页面上测试目的我添加脚本没有随机数

<script type="text/javascript">
    $(function () {
        alert('i am hacker');
    })
</script>
Run Code Online (Sandbox Code Playgroud)

Google Chrome会检测到此违规行为并按预期阻止上述脚本.但是在上面的IE 11中,脚本被执行而没有任何违规.再次,我确定IE中的标题是X-Content-Security-Policy

为什么IE 11没有阻止脚本?

internet-explorer content-security-policy internet-explorer-11 coreclr asp.net-core

5
推荐指数
1
解决办法
8540
查看次数

如何在VS 2017中更新Microsoft.NETCore.App SDK版本

我有一个最初使用VS 2015开发的ASP.NET Core API项目。我安装了VS 2017并让其转换该项目。
然后我转到项目属性->应用程序->目标框架,并将目标框架更改为.NETCoreApp 1.1。

一旦我这样做,我会收到2个错误

错误一个或多个项目与.NETCoreApp,Version = v1.0不兼容。

错误Project Api与netcoreapp1.0(.NETCoreApp,Version = v1.0)不兼容。Project Api支持:netcoreapp1.1(.NETCoreApp,Version = v1.1)

当我检查 Dependencies -> SDK -> Microsoft.NETCore.App -> Properties它显示的版本1.0.4,并SDK RootC:\Users\username\.nuget\packages\microsoft.netcore.app\1.0.4

我已经在计算机上安装了Microsoft.NETCore.AppSDK版本1.1.2

当我转到Nuget软件包管理器以更新SDK版本时,它显示其“ Autoreferenced更新”按钮已禁用。

如何将项目的SDK版本更新为1.1.2

也是为什么VS Studio从而C:\Users\username\.nuget\packages\microsoft.netcore.app不是从引用SDKC:\Program Files\dotnet\shared\Microsoft.NETCore.App\1.1.2

更新1

实际上1.1.2不是SDK版本。截至2017年7月 20日,最新的SDK版本为1.0.4,运行时版本为。1.1.2在我的机器上,我安装了C:\Program Files\dotnet\sdk\1.0.4SDK和C:\Program Files\dotnet\shared\Microsoft.NETCore.App\1.1.2运行时。

因此,正如我提到的那样,当我在VS 2017中打开转换后的项目时,我看到了依赖关系-> SDK-> Microsoft.NETCore.App-属性版本为1.0.4,SDK根为C:\Users\username\.nuget\packages\microsoft.netcore.app\1.0.4

现在,我在同一解决方案中添加了新项目,但是新项目的Dependencies-> SDK-> Microsoft.NETCore.App-> Properties版本是1.1.2,SDK根 C:\Users\username\.nuget\packages\microsoft.netcore.app\1.1.2

我不确定转换后的项目的SDK版本或新添加的项目的SDK版本在这里正确吗?

实际上如果在VS …

asp.net-core-mvc .net-core coreclr asp.net-core visual-studio-2017

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

在不同的.NET框架之间共享记录器

我正在创建一个可以在.Net Core 1.2,.Net Core 2.0和.NET Framework 4.6+之间共享的应用程序框架。因此,我将项目的目标框架选择为.NET Standard。在我的框架项目中,我具有用于发送文本消息或电子邮件的工厂类。在应用程序启动时,每个应用程序都将带有支持服务的工厂配置为带有DI框架的单例实例。

public class MyFactory : IMyFactory
{
      private ILogger _logger;
      private IDictionary<string,IMyService> _container = new Dictionary<string,IMyService>();

    // this method is called on application startup to configure supported services
    public void Configure(string[] keys, ILogger logger)
    {  
        foreach(var key in keys)
        {
             if(key == "text")
             {
                 container.Add(key,new TextMessageService());
             }   

             if(key == "email")
             {
                 container.Add(key,new EmailService());
             }
        }
    }

    //application call this method to send message
    public bool SendMessage(string key, string message)
    {
         // we don't …
Run Code Online (Sandbox Code Playgroud)

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

5
推荐指数
1
解决办法
1132
查看次数