.net core 创建的dotnet核心构建和json文件
如果我有以下资料:.net core 创建的dotnet核心构建和json文件,.net-core,.net Core,如果我有以下资料: using log4net; using log4net.Config; using System; using System.IO; using System.Reflection; namespace CoreTestLog4Net { class Program { static void Main(string[] args) { var logRepository = LogManager.G
using log4net;
using log4net.Config;
using System;
using System.IO;
using System.Reflection;
namespace CoreTestLog4Net
{
class Program
{
static void Main(string[] args)
{
var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly());
XmlConfigurator.Configure(logRepository, new FileInfo("log4net.config"));
var log = log4net.LogManager.GetLogger(typeof(Program));
log.Info("test");
Console.WriteLine("Hello ld!");
Console.Read();
}
}
}
我在powershell中执行以下操作,模拟如何在构建服务器上打包应用程序:
`dotnet发布--输出测试
我做ls。\coretslog4net\test我得到这个:
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 09/01/2018 18:24 3584 ClassLibraryA.dll
-a---- 09/01/2018 18:24 244 ClassLibraryA.pdb
-a---- 09/01/2018 18:51 55755 CoreTestLog4Net.deps.json
-a---- 09/01/2018 18:24 5120 CoreTestLog4Net.dll
-a---- 09/01/2018 18:24 588 CoreTestLog4Net.pdb
-a---- 09/01/2018 18:51 154 CoreTestLog4Net.runtimeconfig.json
-a---- 09/01/2018 13:28 447 log4net.config
-a---- 08/03/2017 19:26 221184 log4net.dll
然后我运行dotnet。\coretslog4net\test3\coretslog4net.dll来运行应用程序
我的问题是这两个json文件是关于什么的
如果我删除它们,我会得到一个错误
在部署到另一台计算机时,它们是否必须作为部署的一部分进行部署?json文件非常重要,在部署时需要包括这些文件,因为:
告诉主机(例如.runtimeconfig.json
)运行应用程序的框架+版本。例如,如果并行安装了.NET Core 1.1和2.0,则此文件决定使用哪一个。此外,它还包含用于配置运行时和主机设置的标志,例如垃圾收集设置dotnet.exe
包含有关引用的包和程序集的信息。NET核心应用程序可以引用包缓存中的程序集,因此构建不需要将来自NuGet包的所有DLL复制到输出文件夹。但是,.deps.json
的输出将包含分发所需的所有文件。它还用于解析默认情况下未添加到发布输出的ASP.NET核心运行时存储的资产,因为它们应该出现在目标服务器上dotnet publish