我正在开发一个NuGet包,通过使用 .targets
文件,将一步添加到构建过程中。
为了成功完成构建,我需要引用NuGet包中的其他文件。
过去,我使用了 $(SolutionDir)packages\MyPackage
,一切都正常运行。
但是,我刚刚在尝试 VS 2017 RC时,发现我的包被安装在全局NuGet包目录中,而不是解决方案文件夹中。
是否有一些来自MSBuild的宏,其中包含NuGet packages
文件夹的路径? 我必须保持与VS2012的兼容性。
我正在开发一个NuGet包,通过使用 .targets
文件,将一步添加到构建过程中。
为了成功完成构建,我需要引用NuGet包中的其他文件。
过去,我使用了 $(SolutionDir)packages\MyPackage
,一切都正常运行。
但是,我刚刚在尝试 VS 2017 RC时,发现我的包被安装在全局NuGet包目录中,而不是解决方案文件夹中。
是否有一些来自MSBuild的宏,其中包含NuGet packages
文件夹的路径? 我必须保持与VS2012的兼容性。
$(NuGetPackageRoot)
宏指向包根目录。<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<add key="repositoryPath" value="$\..\Packages" />
</config>
</configuration>
对于repositoryPath设置,您可以使用$符号指定绝对路径或相对路径(推荐)。$符号基于NuGet.Config的位置。在这种情况下,您的包将安装在$(SolutionDir)packages\
文件夹中,您可以在Visual Studio 2017 RC中使用$(SolutionDir)packages\MyPackage
。它也与VS2012保持兼容性。