我创建了一个示例. NET 5控制台应用程序。只是一个创建一些控制台条目的小示例。
using System;
using System.Threading;
namespace ConsoleApp21
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello from the sample app creating console lines!");
while (true)
{
Console.WriteLine("line ...");
Thread.Sleep(1000);
}
}
}
}
构建目录提供了以下内容...
- /参考
- ConsoleApp21.exe
- ConsoleApp21.dll
- ConsoleApp21.pdb
- ConsoleApp21.deps.json
- ConsoleApp21.runtimeconfig.dev.json
- ConsoleApp21.runtimeconfig.json
现在,如果我想将应用程序分发给其他用户/PC...
我当然想留着
- .exe(尽管我可以直接通过CLI启动dll)
- .动态链接库
我知道我可以删除(或禁用创建)
- /ref(引用程序集)
- .pdb(调试符号)
我还可以删除测试
- .runtimeconfig.dev.json
但是为什么应用程序没有2个json文件就不能运行呢?对我来说有2个额外的配置文件是绝对没有意义的。
- .runtimeconfig.json
- .deps.json
除了自包含构建(afaik将整个.NET运行时包含在目录中)之外,我是否有机会只使用.exe和.dll运行应用程序?
dll不应该知道它有什么依赖项(deps.json),并以某种默认方式找到.NET运行时吗?(我希望我正确理解了这两个的含义)。
1条答案
按热度按时间ergxz8rk1#
您需要将以下行添加到项目文件中:
然后你需要发布这个项目,而不仅仅是编译。它会提供另一个可执行文件,里面有所有的东西。See here了解更多细节。