传统控制台应用参考 Net Standard 项目抛出 FileNotFoundException
Traditional console app referencing NetStandard project throws FileNotFoundException
我有 2 个项目(VS 2017 RC)
- MyLib (NetStandard1.4) - 参考 e.q。 Newtonsoft.Json
- MyConsoleApp(普通的传统控制台应用程序,目标 .Net 4.6.1)- 引用 MyLib 项目
编译后得到:
MyLib
- bin\Debug\netstandard1.4\MyLib.dll
- bin\Debug\netstandard1.4\MyLib.pdb
- bin\Debug\netstandard1.4\MyLib.deps.json <-- 它有关于引用 Newtonsoft.Json
的信息
MyConsoleApp
- bin\Debug\MyLib.dll
- bin\Debug\MyLib.pdb
- bin\Debug\MyConsoleApp.exe
- bin\Debug\MyConsoleApp.exe.config
- bin\Debug\MyConsoleApp.pdb
缺少 MyConosleApp 输出 Newtonsoft.Json。当我 运行 它时,我得到 FileNotFoundException
(Newtonsoft.Json.dll)。
如何让它工作(不将 MyConosleApp 迁移到网络核心)?
请参阅之前类似的堆栈溢出 post:
我希望这可以有所帮助。
根据 Andrew Cahill 的建议,我在 GitHub 上找到了这个帖子:
https://github.com/NuGet/Home/issues/4488
看起来这是一个错误,他们会修复它。解决方法是将下面的代码复制粘贴到您的传统应用程序 .csprj
文件中。 (无需修改代码段)
<ItemGroup>
<PackageReference Include="Legacy2CPSWorkaround" Version="1.0.0">
<PrivateAssets>All</PrivateAssets>
</PackageReference>
</ItemGroup>
它以某种方式鼓励 VS 获取所有引用项目的依赖项。
我有 2 个项目(VS 2017 RC)
- MyLib (NetStandard1.4) - 参考 e.q。 Newtonsoft.Json
- MyConsoleApp(普通的传统控制台应用程序,目标 .Net 4.6.1)- 引用 MyLib 项目
编译后得到:
MyLib
- bin\Debug\netstandard1.4\MyLib.dll
- bin\Debug\netstandard1.4\MyLib.pdb
- bin\Debug\netstandard1.4\MyLib.deps.json <-- 它有关于引用 Newtonsoft.Json 的信息
MyConsoleApp
- bin\Debug\MyLib.dll
- bin\Debug\MyLib.pdb
- bin\Debug\MyConsoleApp.exe
- bin\Debug\MyConsoleApp.exe.config
- bin\Debug\MyConsoleApp.pdb
缺少 MyConosleApp 输出 Newtonsoft.Json。当我 运行 它时,我得到 FileNotFoundException
(Newtonsoft.Json.dll)。
如何让它工作(不将 MyConosleApp 迁移到网络核心)?
请参阅之前类似的堆栈溢出 post:
根据 Andrew Cahill 的建议,我在 GitHub 上找到了这个帖子:
https://github.com/NuGet/Home/issues/4488
看起来这是一个错误,他们会修复它。解决方法是将下面的代码复制粘贴到您的传统应用程序 .csprj
文件中。 (无需修改代码段)
<ItemGroup>
<PackageReference Include="Legacy2CPSWorkaround" Version="1.0.0">
<PrivateAssets>All</PrivateAssets>
</PackageReference>
</ItemGroup>
它以某种方式鼓励 VS 获取所有引用项目的依赖项。