构建服务器未在内部存储库中找到包
Build Server Not finding packages on internal repository
我正在尝试设置一个由 TFS Build 2013 构建的解决方案。该解决方案使用来自 nuget.org 和公司内部存储库的 NuGet 包。在构建服务器上构建时,它会从 nuget.org 中找到包,但不会从我的内部存储库中找到包。我在解决方案中有一个 NuGet.Config 文件(在 .nuget 文件夹下),如下所示:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
<packageSources>
<add key="NuGet official package source" value="https://nuget.org/api/v2/" />
<add key="My Internal Package Source value="\myserver\NuGetPackages" />
</packageSources>
<activePackageSource>
<add key="All" value="(Aggregate source)" />
</activePackageSource>
</configuration>
我收到的错误消息是:
Unable to find version '1.0.0' of package 'MyPackageName'.
我需要做什么才能让它从我的内部存储库中获取包?
我找到了问题的答案。我 discovered 你可以在 %ProgramData%\NuGet 和 nuget.exe 中放置一个名为 NuGetDefault.config 的文件会捡起它。所以我创建了这个文件并将我的两个源放在其中。 (这可能不适用于希望不同项目使用不同来源的人。)
使用 Process Monitor,我发现 nuget.exe 在尝试以“\\myserver\NuGetPackages”格式访问我的本地存储库时出现找不到路径错误。对我来说幸运的是,我的内部 nuget 服务器也是安装了 TFS Build 的服务器。所以我只是将我的路径更改为 "D:\folder\nugetfolder" 之类的东西。
我是 运行 网络服务帐户下的构建,因此我必须授予该帐户访问该目录的权限。 (现在我想起来了,这可能也是我无法通过“\\myserver\NuGetPackages”格式访问存储库的原因)。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="NuGet official package source" value="https://nuget.org/api/v2/" />
<add key="PD Package Source" value="D:\NuGetPackages" />
</packageSources>
<activePackageSource>
<add key="All" value="(Aggregate source)" />
</activePackageSource>
</configuration>
我正在尝试设置一个由 TFS Build 2013 构建的解决方案。该解决方案使用来自 nuget.org 和公司内部存储库的 NuGet 包。在构建服务器上构建时,它会从 nuget.org 中找到包,但不会从我的内部存储库中找到包。我在解决方案中有一个 NuGet.Config 文件(在 .nuget 文件夹下),如下所示:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
<packageSources>
<add key="NuGet official package source" value="https://nuget.org/api/v2/" />
<add key="My Internal Package Source value="\myserver\NuGetPackages" />
</packageSources>
<activePackageSource>
<add key="All" value="(Aggregate source)" />
</activePackageSource>
</configuration>
我收到的错误消息是:
Unable to find version '1.0.0' of package 'MyPackageName'.
我需要做什么才能让它从我的内部存储库中获取包?
我找到了问题的答案。我 discovered 你可以在 %ProgramData%\NuGet 和 nuget.exe 中放置一个名为 NuGetDefault.config 的文件会捡起它。所以我创建了这个文件并将我的两个源放在其中。 (这可能不适用于希望不同项目使用不同来源的人。)
使用 Process Monitor,我发现 nuget.exe 在尝试以“\\myserver\NuGetPackages”格式访问我的本地存储库时出现找不到路径错误。对我来说幸运的是,我的内部 nuget 服务器也是安装了 TFS Build 的服务器。所以我只是将我的路径更改为 "D:\folder\nugetfolder" 之类的东西。
我是 运行 网络服务帐户下的构建,因此我必须授予该帐户访问该目录的权限。 (现在我想起来了,这可能也是我无法通过“\\myserver\NuGetPackages”格式访问存储库的原因)。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="NuGet official package source" value="https://nuget.org/api/v2/" />
<add key="PD Package Source" value="D:\NuGetPackages" />
</packageSources>
<activePackageSource>
<add key="All" value="(Aggregate source)" />
</activePackageSource>
</configuration>