Visual studio 2015 ADAL平台dll未复制到输出

Visual studio 2015 ADAL平台dll未复制到输出,visual-studio-2015,msbuild,adal,azure-keyvault,Visual Studio 2015,Msbuild,Adal,Azure Keyvault,摘要 所需的Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll未复制到我的项目的bin目录 详细信息 我有以下几点 一个名为abc.settings的类项目,除了标准项目外,实际上没有其他参考 一个名为abc.settings.extensions.keyvault的类项目,它是abc.settings的扩展库,具有keyvault nuget和Microsoft.IndentityModels.Clients.Active

摘要

所需的Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll未复制到我的项目的bin目录

详细信息

我有以下几点

  • 一个名为abc.settings的类项目,除了标准项目外,实际上没有其他参考
  • 一个名为abc.settings.extensions.keyvault的类项目,它是abc.settings的扩展库,具有keyvault nuget和Microsoft.IndentityModels.Clients.ActiveDirectorynuget,后者是keyvault的依赖项(除其他外)
  • 一个名为abc.login的项目,该项目同时引用了abc.settings和abc.extensions.keyvault
abc.login应用程序构建正常,没有错误,但当我运行它时,会出现运行时聚合异常,这归结为无法加载模块Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll

当我查看abc.settings.extensions.keyvault的bin文件夹时,Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll与Microsoft.IdentityModel.Clients.ActiveDirectory.dll如预期一样存在

当我查看abc.login\bin\x64时,我看到一个Microsoft.IdentityModel.Clients.ActiveDirectory.dll但没有Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll

我尝试过的事情

  • 确保这两个文件的“复制本地”均为true
  • 确保将这两个DLL的特定版本设置为相同(是,并且它们已设置为true)
  • 重新安装了Nuget
  • 在abc.login项目中安装了ADAL nuget-这会使应用程序正常工作…但应该复制它,因为引用了abc.extensions.keyvaul
  • 我签出了,但我不明白这是如何工作的一半(一个dll被复制,另一个没有)。这篇文章暗示这个被引用的项目dll的引用永远不会工作
关于调查的原因或地点有什么建议吗

谢谢。

已解决

有趣的是,这个答案并没有在我发帖时作为答案出现,而是在我发帖时作为答案出现了

关于我的问题,在abc.extensions.keyvault中,我向引用缺少的….platform.dll中类型的一个类添加了一个伪方法,然后是console.writeline该类型的名称(第二部分避免了优化)

大宗报价

    public static void DoNotDeleteOrUse()
    {
        var TypeOfSomething = typeof(Microsoft.IdentityModel.Clients.ActiveDirectory.AdalOption);
        Console.WriteLine(TypeOfSomething.FullName);

    }