.net生态系统中.net native的作用对我来说很困惑.我听说它只适用于通用的Windows应用程序,但也听说它是CoreFX的一部分.我认为可以选择编译为.net native可以有很多优点(包括性能).
是否有可能将我的asp.net应用程序(特别是asp.net 5)编译为.net native?
根据我的理解,提供DNX(.Net执行环境)来支持跨平台的Web应用程序,这听起来不错,但如果它支持桌面应用程序会更有用.
为什么需要基于Web的跨平台应用程序?通常一个Web应用程序/网站托管一次,在Windows机器上的IIS上托管它应该不是问题.DNX是否存在我完全缺失的问题,或者它对于基于桌面/控制台的应用程序是否有用.
当我发布我的项目时
dotnet publish
它输出到一个文件夹
bin/Debug/dnxcore50/osx.10.11-x64/publish
(或者可能是Release等价物)
是否可以为project.json文件中指定的postpublish脚本确定此文件夹位置?
将我的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
我正在使用ParseReleaseNotesCake中的别名来管理我的版本控制,使用一个项目工作正常,我用CreateAssemblyInfo别名修补程序集信息.
现在项目不使用csproj而是project.json我希望实现相同的功能,而程序集信息不是project.json的真正选项.
检查DotNetCoreBuild(string, ?DotNetCoreBuildSettings)?它和它DotNetCoreBuildSettings只是一种方法来设置版本的部分通过它的VersionSuffix属性.
是否有Cake别名/设置来实现这一点,还是可以从Cake修补project.json?
我有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
是否有可能将dotnet核心(.NET Core)环境嵌入到本机进程中?
我的用例是现有的游戏服务器,我想在Windows和Linux上使用C#在.NET Core上扩展游戏.
奖金问题:是否还会出现AppDomain像"oldschool".NET一样的概念?
在我的每个响应的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
我有一个最初使用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 Root以C:\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
我正在创建一个可以在.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) coreclr ×10
c# ×4
.net ×3
.net-core ×3
asp.net ×3
asp.net-core ×3
dnx ×2
.net-native ×1
c#-6.0 ×1
cakebuild ×1
dotnet-cli ×1
linux ×1
windows ×1