Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过代码获取项目的路径';s nuget软件包_C#_.net_Nuget_Nuget Package - Fatal编程技术网

C# 通过代码获取项目的路径';s nuget软件包

C# 通过代码获取项目的路径';s nuget软件包,c#,.net,nuget,nuget-package,C#,.net,Nuget,Nuget Package,我正在尝试用c#代码将一些项目的nuget包复制到project outputpath文件夹中 我解析了packages.xml文件并获得了这些包的路径 看起来是这样的: <package id="Microsoft.Web.Xdt" version="1.0.0" targetFramework="net40" /> 而不是 C:\Packages\Microsoft.Web.Xdt.1.0.0\lib\net40 所以我需要知道如何获取net30文件夹而不是net40。 Nu

我正在尝试用c#代码将一些项目的nuget包复制到project outputpath文件夹中

我解析了packages.xml文件并获得了这些包的路径

看起来是这样的:

<package id="Microsoft.Web.Xdt" version="1.0.0" targetFramework="net40" />
而不是

C:\Packages\Microsoft.Web.Xdt.1.0.0\lib\net40
所以我需要知道如何获取net30文件夹而不是net40。 Nuget代码本身就知道如何做到这一点,我试图调查Nuget.core代码,但没有成功

任何帮助或想法都将不胜感激

更新:

  • 为什么我需要复制这些包?因为我们在所有引用上使用本地副本false 由于建造速度(不是我的决定)

“将某些项目的nuget包复制到项目outputpath文件夹”-为什么?另外,为什么您知道您需要
net30
,是因为该项目是为.NET 3.0构建的?我的软件包总是自动复制到构建文件夹中。@CodeCaster-该项目是为net40构建的,但如果没有针对net40而仅针对net30的软件包目录,我希望获取它,而不是不获取任何内容。Nuget本身也在做这件事,我也想尝试这样做,希望使用Nuget API。我明白您的问题:您是否正在创建一个msbuild任务,将Nuget包的内容复制到项目的输出目录?这听起来是个坏主意。您实际上是在尝试复制“localcopy=true”功能。你能解释一下不使用它的原因吗?
C:\Packages\Microsoft.Web.Xdt.1.0.0\lib\net40