.net core 跳过.NET核心控制台应用程序的依赖项检查

.net core 跳过.NET核心控制台应用程序的依赖项检查,.net-core,.net Core,我有一个.NET Core 2.1控制台应用程序,它使用配置文件中的设置编译为exe。 在构建过程中,它将所有依赖项236个文件复制到输出中,使用这些依赖项,它似乎运行良好。有一个.deps.json文件列出了所有这些 该工具是一个开发工具,它是在安装了Visual Studio和.NET Core 2.1的机器上执行的,因此我尝试从输出文件夹中删除所有.NET framework依赖项,并将其减少到10个文件 因此,它在我的机器上运行良好,但我有另一台机器,它抱怨缺少依赖性。这些依赖项位于具有

我有一个.NET Core 2.1控制台应用程序,它使用配置文件中的设置编译为exe。 在构建过程中,它将所有依赖项236个文件复制到输出中,使用这些依赖项,它似乎运行良好。有一个.deps.json文件列出了所有这些

该工具是一个开发工具,它是在安装了Visual Studio和.NET Core 2.1的机器上执行的,因此我尝试从输出文件夹中删除所有.NET framework依赖项,并将其减少到10个文件

因此,它在我的机器上运行良好,但我有另一台机器,它抱怨缺少依赖性。这些依赖项位于具有相同版本的两台计算机的.nuget文件夹中

我会犯这样的错误

Error:
  An assembly specified in the application dependencies manifest (myconsoleapp.deps.json) was not found:
    package: 'Microsoft.DotNet.PlatformAbstractions', version: '2.0.0'
    path: 'lib/netstandard1.3/Microsoft.DotNet.PlatformAbstractions.dll'
我想更好地理解是什么导致了这两台机器之间的差异。看起来,在一个系统中,依赖项甚至在运行一行代码之前就被检查了,而在另一个系统中,依赖项并不是这样工作的

是否有可以以某种方式关闭的初步依赖性检查


为什么是这样?有什么好方法可以诊断这个问题吗?

最后,经过几个小时的研究,我想我对加载概念有了更好的理解。Nate McMaster写了一篇很棒的文章,最后还包含了一些进一步的参考资料。这些我可以推荐给任何想要更好理解的人


在我的具体案例中,这种差异是由我与其他文件一起复制的.runtimeconfig.dev.json造成的,没有注意到它实际上包含了我自己的用户C:\Users\gaspar\.nuget\packages的packages文件夹。在另一台计算机上,用户名不同,因此.NET Core无法加载程序集。

如果它确实是开发人员的工具,请将其作为全局工具,@LexLi yes,这是有意义的。我会考虑的。