我正在使用myget作为我的Nuget包。因为我正在使用带凭据的私人Feed,所以我关注了此博客:http://www.xavierdecoster.com/deploying-to-azure-web-sites-using-nuget-package-restore-from-a-secured-feed
我的本地(项目)nuget.config(位于解决方案中的.nuget文件夹中)如下所示:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
<packageSource>
<clear />
<add key="EcareMyGet" value="https://www.myget.org/F/rai69/"></add>
</packageSource>
<activePackageSource>
<add key="EcareMyGet" value="https://www.myget.org/F/rai69/"></add>
</activePackageSource>
<packageSourceCredentials>
<EcareMyGet>
<add key="Username" value="www.myget.org/raimond" />
<add key="ClearTextPassword" value="wachtwoord" />
</EcareMyGet>
</packageSourceCredentials>
</configuration>
在我的nuget.targets中,我根据博客更改了恢复命令:
<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -NonInteractive $(RequireConsentSwitch) -solutionDir "$(SolutionDir)\" -Verbosity detailed </RestoreCommand>
尽管如此,构建服务器仍然使用nuget.org作为源:
NuGet.exe sources
Registered Sources:
1. https://nuget.org/api/v2/ [Enabled]
https://nuget.org/api/v2/
谁知道解决方案?
答案 0 :(得分:2)
答案:替换&lt; packageSource&gt;通过&lt; packageSources&gt;在nuget.config文件中
以下是导致答案的对话......
为了确定,您是否还阅读了禁用-RequireConsent开关的部分?
<RequireRestoreConsent Condition=" '$(RequireRestoreConsent)' != 'false' ">
false
</RequireRestoreConsent>
另外,请确保未在MSBuild PackageSources元素中对其进行配置,默认情况下如下所示(未配置包源):
<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="https://my-nuget-source/nuget/" />
-->
</ItemGroup>
如果您这样做了,那不是问题,请您分享一下输出日志的更多细节,以便我可以确定问题何时发生以及由什么命令引起?
答案 1 :(得分:0)
你写的是你使用“我的本地(项目)nuget.config”,这让我相信你的项目文件夹中有 nuget.config 文件
您可以阅读NuGet Config File here。在那里你会看到“NuGet首先从默认位置加载NuGet.config,然后加载任何名为NuGet.config的文件,从当前驱动器的根目录开始,到当前目录结束。”。
这意味着,NuGet将从根目录到 nuget.exe 的位置一直在文件夹层次结构中查找配置,这通常位于下。解决方案根目录中的nuget 文件夹。这意味着它永远不会查看解决方案中的项目文件夹。因此,您可以尝试将 nuget.config 移动到解决方案文件夹,然后查看它是否已正确读取。