我有以下项目配置:
1) Project1
:.NET Framework 4.6.1 项目
2) Project2
:.NET 标准项目<TargetFrameworks>netstandard2.0;net461</TargetFrameworks>
3) Project3
:.NET 标准项目<TargetFrameworks>netstandard2.0;net461</TargetFrameworks>
So, Project3
参考System.Net.Http
. Project2
参考Project3
and Project1
参考Project2
.
当我在 Visual Studio 2017 中构建任何配置时Project1\bin\%Configuration%\
目录包含System.Net.Http.dll
以及其他System
组件。
我还可以看到以下绑定重定向是在中生成的Project1.exe.conf
:
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.2" newVersion="4.1.1.2" />
</dependentAssembly>
当我使用dotnet msbuild
构建(导航到解决方案文件夹并使用以下命令:dotnet msbuild /p:Configuration=Release
)一切都成功构建,但是System.Net.Http
同一目录中缺少 dll。
当我在 Visual Studio 之外运行应用程序时,我在运行时收到以下错误:Could not load file or assembly System.Net.Http, Version=4.1.1.2
.
为什么?我该如何使用dotnet msbuild
确保复制所有引用的程序集的工具?
更新:我的dotnet
版本是2.1.2
.
Thanks.