使用本地源还原Nuget包

使用本地源还原Nuget包,nuget,nuget-package,Nuget,Nuget Package,我正试图让nuget package restore在一个解决方案中工作,该解决方案在常规的公共nuget提要和位于共享网络驱动器上的本地提要中查找包 到目前为止,我尝试在解决方案上启用nuget package restore,然后编辑nuget.targets并更改PackageSources变量,但这似乎不起作用。这可能吗 对于包源部分,我的Nuget.targets文件如下所示: <ItemGroup Condition=" '$(PackageSources)' == '' "&

我正试图让nuget package restore在一个解决方案中工作,该解决方案在常规的公共nuget提要和位于共享网络驱动器上的本地提要中查找包

到目前为止,我尝试在解决方案上启用nuget package restore,然后编辑nuget.targets并更改PackageSources变量,但这似乎不起作用。这可能吗

对于包源部分,我的Nuget.targets文件如下所示:

<ItemGroup Condition=" '$(PackageSources)' == '' ">
    <!-- Package sources used to restore packages. By default, registered sources under %APPDATA%\NuGet\NuGet.Config will be used -->
    <!-- The official NuGet package source (https://nuget.org/api/v2/) will be excluded if package sources are specified and it does not appear in the list -->
    <PackageSource Include="https://nuget.org/api/v2/" />
    <PackageSource Include="\\mynetworkshare\Development\NugetPackages" />
</ItemGroup>


生成时出现的错误是“找不到包“MyCustomPackage”的版本“1.0.0”。我已验证nupkg是否存在于
\\mynetworkshare\Development\NugetPackages\MyCustomPackage.1.0.0。nupkg

更新NuGet.TARGET中的源代码应该可以工作。 确保在目标文件中明确添加了官方NuGet源代码和本地提要。
你注意到了什么错误?

我的解决方案是bhuvak的答案,加上我不得不重命名一些软件包

我一直在创建symbols包(名称类似于
MyCustomPackage.1.0.0.symbols.nupkg
),并使用本地包源文件夹中的symbols包。但是,“包还原”似乎无法获取这些包。我必须重命名它们,删除文件名中的
.symbols
部分


在我这样做之后,包还原工作非常好。

我们遇到了与@evan类似的问题。我们正在使用该包在TFS 2013生成服务器上创建NuGet包。我们有一个本地的、基于共享的包源,并将nupkg文件从生成输出复制到此共享。我们发现引用这些包的生成失败,因为NuGet包还原无法在本地源中找到包

在构建服务器上从命令行运行NuGet时,我们会看到奇怪的行为:

nuget.exe list <search-term-for-our-packages> -allversions
我们总是得到:

Unable to find version '1.0.6.341' of package 'our.package.name'.
我尝试了各种方法来解决这个问题,玩nuget.config并在nuget.exe版本之间交换,但修复方法只是简单地命名我们的nupkg文件。默认情况下,
CreateNewNuGetPackageFromProjectAfterEachBuild
将它生成的nupkg命名为包Id加上构建配置和目标。例如g

our.package.name.1.0.6.341.Release.AnyCPU.nupkg
在我们的包中使用此文件时,源代码
numget list
可以工作,但
numget restore
失败

our.package.name.1.0.6.341.nupkg
然后
numget列表
numget还原
按预期工作


我们的解决方案只是在每次构建后修改
createNewNuGetPackageFromProjectAfter的配置文件,以防止它包含构建配置和目标。但是为什么
nuget restore
依赖于包文件名,而
nuget list
不依赖于包文件名?

请参阅我更新的问题。我得到的错误是关于构建的,但它不能查找我的网络共享中存在的软件包谢谢,我花了两天时间找到了你的解决方案,最后它救了我。不知道为什么在我搜索nuget还原问题时,此页面没有出现在顶部。再次感谢
our.package.name.1.0.6.341.nupkg