我创建了一个新的ASP.NET Core项目,该项目面向完整的.NET 4.6框架 . 基本上我想要的是使用新的.csproj格式和新的dotnet工具创建一个ASP.NET Core Web应用程序,但仍然以完整框架为目标,因为我们有许多依赖项无法快速移植到.NET Core .
有一些NuGet包包含许多DLL,但在添加 PackageReference
之后,它只将一个DLL复制到Web应用程序的bin文件夹中 . 我需要手动引用的其他DLL .
例如:
<ItemGroup> <Reference Include="CustomDll"> <HintPath>..\packages\CustomPackage\version\lib\CustomDll.dll</HintPath> </Reference> </ItemGroup>
现在的问题是,使用新的工具和NuGet版本,解决方案路径下没有包文件夹 . 它通常位于 .nuget\packages\...
下的我的用户文件夹中 .
是否有一个宏可以与新的MSBuild一起使用来引用全局nuget文件夹或我可以更改的设置,以便构建实际上复制解决方案目录下的所有NuGet包?
1 回答
看起来NuGet包中的dll直接放在
lib
文件夹中,而不是lib\net45
,这样就可以启用自动工具 . (NuGet包可能已经手动组装) .作为解决方法,您可以将
HintPath
设置为$(NuGetPackageRoot)the.package.name\1.0.0\lib\the.dll
.