nuget – 自动注入不适用于本机C项目的道具/目标文件

我正在使用Visual Studio 2013在NuGet v2.8.50506.491中使用自动包恢复.

我已经使用{package ID} .props文件向我的包添加了一个构建文件夹.但是,该文件显然没有在恢复时注入vcxproj.正确地还原了包及其所有内容,但在vcxproj属性中没有任何定义可见.如果在内存中发生属性注入,则可能会出现这种情况,但由于道具中未明确定义的路径未被继承,构建将失败.

如果我在本地包存储库中添加对props文件的显式引用,则项目构建成功,因此props文件中的路径没有问题.

我也尝试在构建下的“本机”子文件夹中添加道具,也无济于事.

来自nuspec的摘录:

<file src="build\MyPackage.targets" target="build\MyPackage.targets" />

我也尝试过一个目标文件,而不是/和一个道具文件,但这也不起作用.

我应该补充一点,我已经在sln文件夹中定义了Nuget.config,其中包含了我的包存储库的绝对路径:

<config>
  <add key="repositoryPath" value="C:\Packages" />
</config>

最佳答案 我今天遇到了这个问题,最终我意识到我的.nuspec和.targets文件的名称与我的包的id不同,这显然是个问题.重命名.nuspec和.targets文件以匹配包ID,使NuGet正确地开始注入vcxproj.我不确定这两个文件中的哪一个是问题,或者两者都是,但它现在正常工作,因为所有三个名称都匹配.

点赞