Visual Studio dotnet核心复制和粘贴引用

时间:2017-10-21 19:36:08

标签: visual-studio .net-core visual-studio-2017 powercommands

自2010/2012年以来,我对Visual Studio中的复制/粘贴引用了如指掌。这是否已更新为与Core 2一起使用?

这是SO问题,询问旧样式引用(在Core之前,以及重启csproj格式之前):Is it possible to copy / paste References from one project to another in Visual Studio?

2 个答案:

答案 0 :(得分:1)

现在可能dotnet add package可用,我们不需要在VS中复制/粘贴引用吗?

"Add Google social login" walkthrough for ASP.NET Core 2.0建议使用dotnet CLI添加包引用:

  
      
  • 要使用.NET Core CLI进行安装,请在项目中执行以下操作   目录:

         

    dotnet add package Microsoft.AspNetCore.Authentication.Google

  •   

来源:https://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/google-logins?tabs=aspnetcore2x

将此答案写入我自己的问题,以便“只需使用CLI”那些人就可以投票了。

答案 1 :(得分:0)

如果您正在讨论NuGet包引用,请不要尝试手动将已解析的引用复制到dll文件(在加载项目后,在设计时构建期间从obj\project.assets.json文件生成)。 / p>

在新的基于SDK的项目模型和引用NuGet包的PackageReference方法(也可用于“经典”项目)中,NuGet引用自动跨包引用流动。因此,当您的应用程序引用使用NuGet包的库时,您不再需要在库和应用程序(以及可能的测试项目)中安装NuGet包。

仅针对“经典”引用,此问题仍然存在。但是,如果您需要将它们导入所有项目(例如,您从第三方获得了一些.dll文件),则可以在解决方案文件夹中创建Directory.Build.targets以将其添加到解决方案中的所有项目中(从技术上讲) ,此文件将自动导入目录层次结构中的所有项目中:

<Project>
  <ItemGroup>
    <Reference Include="AssemblyName">
      <HintPath>shared-libs\AssemblyName.dll</HintPath>
    </Reference>
  </ItemGroup>
</Project>

(如果您需要https://stackoverflow.com/a/16580870/784387中描述的“特定版本”功能或强名称引用,则可能需要更改引用