Nuget Package Manager: "...is not a valid JSON object" - nuget

I setup a Nexus repo recently. I see the expected result if I type the URL into a browser:
I've successfully added this nuget server as a source to my VS2022 package manager on one machine. On my other machine, however (also with VS2022 installed), I get an error when trying to browse this repo in the package manager:
Error [sourcename] Unable to load the service index for source [url].
The content at '[url]' is not a valid JSON object.
Unexpected character encountered while parsing value: <. Path '', line 0, position 0.
It looks like the package manager is expecting JSON, but the nuget server is sending XML. How can I fix this?

On Windows in configuration AppData/Roaming/Nuget/Nuget.config remove protocol version or change to 2 for your feed. Probably you have protocolVersion="3".

Related

Bamboo plugin for fetching NuGet packages from Artifactory is throwing a "String index out of bounds" error and causing build to fail

I have a visual studio project which uses several libraries I fetched from NuGet.
I recently created a remote repository in Artifactory that fetches and caches the NuGet packages.
The goal is to remove the "packages" directory from my project's source control and restore the libraries through the artifactory repository every time the project is built.
I am successfully able to do this and build the project in bamboo using a script task and the following command: nuget restore solutionName.sln -Source http://artifactoryRepoAddress
Despite the script working, I would like to use the plugin for bamboo from Artifactory (docs here) since this will collect build information and push it to Artifactory automatically. I am unable to get this to work. The build fails every time with the following error:
java.lang.RuntimeException: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at org.jfrog.build.extractor.nuget.extractor.NugetRun.execute(NugetRun.java:185)
at org.jfrog.bamboo.task.ArtifactoryDotNetTaskBase.executeRestore(ArtifactoryDotNetTaskBase.java:113)
at org.jfrog.bamboo.task.ArtifactoryDotNetTaskBase.runTask(ArtifactoryDotNetTaskBase.java:74)
at org.jfrog.bamboo.task.ArtifactoryTaskType.execute(ArtifactoryTaskType.java:46)
at com.atlassian.bamboo.task.TaskExecutorImpl.lambda$executeTasks$2(TaskExecutorImpl.java:321)
at com.atlassian.bamboo.task.TaskExecutorImpl.executeTaskWithPrePostActions(TaskExecutorImpl.java:258)
at com.atlassian.bamboo.task.TaskExecutorImpl.executeTasks(TaskExecutorImpl.java:321)
at com.atlassian.bamboo.task.TaskExecutorImpl.execute(TaskExecutorImpl.java:118)
at com.atlassian.bamboo.build.pipeline.tasks.ExecuteBuildTask.call(ExecuteBuildTask.java:73)
at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent.executeBuildPhase(DefaultBuildAgent.java:205)
at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent.build(DefaultBuildAgent.java:177)
at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.lambda$waitAndPerformBuild$0(BuildAgentControllerImpl.java:169)
at com.atlassian.bamboo.variable.CustomVariableContextImpl.withVariableSubstitutor(CustomVariableContextImpl.java:118)
at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.waitAndPerformBuild(BuildAgentControllerImpl.java:162)
at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent.lambda$start$0(DefaultBuildAgent.java:122)
at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:48)
at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:26)
at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:17)
at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:41)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.base/java.lang.String.substring(Unknown Source)
at org.jfrog.build.extractor.nuget.extractor.NugetRun.addSourceToConfigFile(NugetRun.java:222)
at org.jfrog.build.extractor.nuget.extractor.NugetRun.prepareConfig(NugetRun.java:211)
at org.jfrog.build.extractor.nuget.extractor.NugetRun.prepareAndRunCmd(NugetRun.java:193)
at org.jfrog.build.extractor.nuget.extractor.NugetRun.execute(NugetRun.java:175)
... 19 more
I am wondering if anyone has seen this before or knows how I might fix it. I am thinking that the most likely issue has something to do with the "arguments" section. Here is an image of the input fields. For this example, I am just using placeholder text for the project name and source address: image
There is so little documentation on this plugin that is has been difficult to even get this far.

Pushing CEFSharp packages to local nuget gives "406 (Not Acceptable)" error

I've implemented CEFSharp and need to push the required nuget packages to a local nuget server.
Other packages work fine (both created locally, or from third parties), but all of the CEFSharp packages error with 406 (Not Acceptable)
C:\nuget\cef>nuget push CefSharp.Wpf.96.0.180.nupkg
Pushing CefSharp.Wpf.96.0.180.nupkg to 'http://nugetServer/Nuget/nuget/'...
PUT http://nugetServerNuget/nuget/
NotAcceptable http://nugetServerNuget/nuget/ 90ms
Response status code does not indicate success: 406 (Not Acceptable).
This happens for each of the nuget packages I try.
We're using v96.0.18, but I've tried the latest version for testing purposes.
Package
Version
Result?
cef.redist.x64
96.0.18
Fail
cef.redist.x64
97.1.1
Success
cef.redist.x86
96.0.18
Fail
cef.redist.x86
97.1.1
Success
CefSharp.Common
96.0.18
Fail
CefSharp.Common
97.1.11
Fail
CefSharp.Wpf
96.0.18
Fail
CefSharp.Wpf
97.1.11
Fail
No messages appear in any logs in IIS. Restarting IIS and rebooting servers hasn't worked.
We're using the latest NuGet.Server.3.4.1 and Nuget CLI v6.0.0.
The CefSharp packages include the source code within the src folder.
i received 406 because my nuget package had a src dir.
the nuget server handles packages with src dirs as symbol packages, so in the web.config you have to set "ignoreSymbolsPackages" to false.
According to https://github.com/NuGet/NuGetGallery/issues/5084#issuecomment-486541884 the packages will be treated as symbol packages and setting ignoreSymbolsPackages to false is required.
<add key="ignoreSymbolsPackages" value="false"/>

VSTS Build and NuGet Publisher - 405 Method Not Allowed

I'm trying to configure VSTS build that will publish NuGet package to internal feed. Puckage is being created successfully but have issue with NuGet Publisher.
When NuGet publisher is trying to publish package then I got error:
Using credentials from config. UserName: VssSessionToken
Pushing PackageName_20170608-081053 to 'https://...visualstudio.com/_packaging/b5ae5df2-b73e-4af2-...-66df-4340-8e68-9d4be0071ba8/nuget/v2/'...
PUT https://...visualstudio.com/_packaging/b5ae5df2-b73e-4af2-...-66df-4340-8e68-9d4be0071ba8/nuget/v2/
System.InvalidOperationException: Failed to process request. 'Method Not Allowed'.
The remote server returned an error: (405) Method Not Allowed.. ---> System.Net.WebException: The remote server returned an error: (405) Method Not Allowed.
...
Error: d:\a\_tasks\NuGetPublisher_333b11bd-d341-\0.2.34\node_modules\nuget-task-common\NuGet\3.3.0\NuGet.exe failed with return code: 1
Packages failed to publish
I've already checked permissions to feed and Project Collection Build Service is added as a contributor. I've also tried to play with NuGet versions but it didn't help.
The issue was that I was trying to publish to release view. Instead I have to push the package to a feed first.
Here are details:
https://github.com/Microsoft/vsts-tasks/issues/4493

Publishing to Symbol Source from Team City

For awhile in my Team City build, I am unable to publish my source NuGet packages to symbolsource.org as it responds with 500 Internal Server Error.
[16:02:36][push] Pushing NCode.Composition.DisposableParts 1.0.1 to the symbol server (http://nuget.gw.symbolsource.org/Public/NuGet)...
[16:04:18][push] Failed to process request. 'Internal Server Error'.
[16:04:18][push] The remote server returned an error: (500) Internal Server Error..
[16:04:18][push] Process exited with code 1
I am able to publish my normal packages to NuGet.org just fine. I believe that I have properly configured everything as documented by symbol source.
https://www.symbolsource.org/MyGet/Wiki/Publishing
http://www.symbolsource.org/Public/Metadata/NuGet
https://www.symbolsource.org/Public/Account/Register
Here is my Build Step configuration for NuGet Publish:
Runner Type: NuGet Publish
NuGet.exe: Default 2.8.6
Packages: *.nupkg
API Key: (my personal API key from NuGet.org)
Package Source: (blank)
In my build output directory and artifacts recognized by TeamCity, I do have both of my packages in there:
NCode.Composition.DisposableParts.1.0.1.nupkg
NCode.Composition.DisposableParts.1.0.1.symbols.nupkg
Any assistance would be appreciated!
I think that the problem is with two packages with the same name. Did you try a workaround with another build configuration and snapshot dependency?
I'm using another build configuration with snapshot dependency to build which produces *.nupkg and *.symbol.nupkg. Artifact dependency is set to:
-:*.nupkg => <replace with location>
+:*.symbol.nupkg
The build configuration only publishes *.symbol.nupkg to symbolsource.org.

Jenkins tag name is invalid

Has anyone seen the following exception from Jenkins?
FATAL: org.eclipse.jgit.api.errors.InvalidTagNameException: tag name jenkins-Push Notifications API (Master)-3 is invalid
hudson.plugins.git.GitException: org.eclipse.jgit.api.errors.InvalidTagNameException: tag name jenkins-Push Notifications API (Master)-3 is invalid
at org.jenkinsci.plugins.gitclient.JGitAPIImpl.tag(JGitAPIImpl.java:179)
at hudson.plugins.git.GitAPI.tag(GitAPI.java:220)
at hudson.plugins.git.GitSCM$4.invoke(GitSCM.java:1239)
at hudson.plugins.git.GitSCM$4.invoke(GitSCM.java:1196)
at hudson.FilePath.act(FilePath.java:865)
at hudson.FilePath.act(FilePath.java:838)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1196)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1353)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:689)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:594)
at hudson.model.Run.execute(Run.java:1567)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:237)
Caused by: org.eclipse.jgit.api.errors.InvalidTagNameException: tag name jenkins-Push Notifications API (Master)-3 is invalid
at org.eclipse.jgit.api.TagCommand.processOptions(TagCommand.java:198)
at org.eclipse.jgit.api.TagCommand.call(TagCommand.java:112)
at org.jenkinsci.plugins.gitclient.JGitAPIImpl.tag(JGitAPIImpl.java:175)
... 14 more
This is a Scala project and we are using SBT 12.1 to build it. My googling has only returned issues with older versions of Jenkins which I am past. We have 1.506.
We have a ton of other projects building just fine and some of them are also Scala.
I got this error building a Java project. I'm not sure why this would suddenly crop up, but I was able to work around it by doing the following:
Go to the Advanced... config settings for the Source Code Management section of the build config and check "Skip Internal Tag".
(upgraded from comment)