2017-03-03 33 views
2

我有2个项目(2017年VS RC)传统的控制台应用程序引用NetStandard项目抛出FileNotFoundException异常

  • MyLib中(NetStandard1.4) - 引用e.q. Newtonsoft.Json
  • MyConsoleApp(正常,传统的控制台应用程序,靶向净4.6.1) - 引用MyLib项目

编译我收到后:

MyLib中

  • 斌\ Debug \ netstandard1.4 \ MyLib.dll
  • bin \ Debug \ netstandard1.4 \ MyLib.pdb
  • 斌\调试\ netstandard1.4 \ MyLib.deps.json < - 它有信息有关引用Newtonsoft.Json

MyConsoleApp

  • 斌\调试\中是指mylib.dll
  • 斌\调试\ MyLib.pdb
  • 斌\调试\ MyConsoleApp.exe
  • 斌\调试\ MyConsoleApp.exe.config
  • bin \ Debug \ MyConsoleApp.pdb

MyConosleApp输出缺少Newtonsoft.Json。当我运行它时,我得到FileNotFoundException(Newtonsoft.Json.dll)。

如何使其工作(无需将MyConosleApp迁移到网络核心)?

回答

3

基于从安德鲁·卡希尔的建议,我发现在GitHub上这个线程:

https://github.com/NuGet/Home/issues/4488

它看起来就像是一个错误,他们会解决它。解决方法是将以下代码复制粘贴到您的传统应用程序.csprj文件。 (不需要修改片段)

<ItemGroup> 
    <PackageReference Include="Legacy2CPSWorkaround" Version="1.0.0"> 
     <PrivateAssets>All</PrivateAssets> 
    </PackageReference> 
    </ItemGroup> 

它以某种方式鼓励VS获取所有引用项目的依赖关系。

+0

错误:元素中的属性“Version”无法识别。 –

+0

删除了版本属性并加载了项目,并且项目中存在未知文件引用,并且与以前一样有FileNotFoundException –

相关问题