【发布时间】:2016-02-04 18:16:23
【问题描述】:
我 installed .net core from this site 并按照三个步骤说明测试“hello world”控制台应用程序:
dotnet new
dotnet restore
dotnet run
一切正常,控制台应用程序运行成功。
尽管如此,restore 步骤做了两件意想不到的事情。首先,它将包恢复到 NuGet 的全局包文件夹 (%userprofile%\.nuget\packages)。这种全局安装以前从未成为 NuGet 的默认行为。当然,如果 dotnet restore 在内部使用 nuget.exe...这种行为可能是由于缺少 Visual Studio 解决方案文件。
但是,这只是强调了第二个意外行为。 restore 操作将 85 个包安装到全局 NuGet 包文件夹中。示例控制台应用程序几乎不需要所有这些包。
看起来,这与 .Net Core 声称的所有内容完全矛盾。
例如,对于这个简单的“hello world”控制台应用程序,以下是一些已安装的包:
- runtime.win7.System.Net.Sockets
- System.Globalization.Calendars
- System.Linq
所以我的意思是毫无疑问简单的“hello world”控制台应用程序,这是整个程序:
using System;
namespace ConsoleApplication
{
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
我的预期是示例控制台应用程序所需的软件包数量在 0 到 3-ish 之间。同样,根据 .Net Core 的声明,我希望 NuGet 包安装在本地 - 与示例控制台应用程序本身位于同一文件夹中。
有人能澄清一下为什么或如何这种行为与 .Net Core 的主张不矛盾吗?
【问题讨论】:
标签: .net windows nuget windows-10 .net-core