【发布时间】:2017-09-02 17:15:54
【问题描述】:
我正在设置一个 Jenkins CI 服务器。我迈出了正确运行的第一步:
nuget restore -NonInteractive -ConfigFile Nuget.config -Verbosity Detailed -NoCache
这可以正常工作,但是当我想编译应用程序时:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\MSBuild.exe
和${WorkSpace}\src\Weather.App.csproj
它抛出这个错误:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\NuGet\15.0\Microsoft.NuGet.targets(178,5): error : The package HockeySDK.Core with version 4.1.6 could not be found in C:\WINDOWS\system32\config\systemprofile\.nuget\packages\. Run a NuGet package restore to download the package. [C:\Program Files (x86)\Jenkins\workspace\MyApp\Weather\Weather.App.csproj]
如果我在我的 VS2017 本地项目中运行相同的命令,一切都会顺利进行。但是 jenkins 服务器(在我的同一台机器上)没有正确构建它。
有什么想法吗?谢谢
【问题讨论】:
-
对此有何解决方案?我们遇到了完全相同的问题。
-
嗨,我搞定了,如果我没记错的话,如果您将 Jenkins 作为服务运行,它将不会默认为正确的 nuget 文件夹,而是会转到 PC 中的全局文件夹(适用于所有用户) .我必须将它作为当前用户的控制台应用程序运行,因此它将默认为当前用户文件夹中的 nuget 包。我知道这并不理想,但是......
-
我有同样的问题,当我从 packages.config 移动到 project.json 时开始出现。我将 Gitlab CI 与作为系统服务运行的运行器一起使用。因此,如果您找到了其他解决方案,我有兴趣阅读它。
-
我在使用 PackageReference 时遇到了同样的问题。我首先通过运行 jenkins 服务而不是作为系统用户而是作为本地用户来“解决”它。现在我懊悔地回到packages.config。我对 PackageReference 有另一个问题。它对我来说似乎并不成熟...... :(
-
还不成熟。我现在的工作方式是使用 Jenkins 做一些基本的事情,然后我有一个 WPF 应用程序来监听文件夹中正在更改的文件,从那里我运行我自己的命令并在没有詹金斯混在一起的情况下做我的事情。效率更高,头痛更少!
标签: jenkins msbuild continuous-integration nuget