TFS webapi updates failing after updating to latest newtonsoft.json version 11 - tfs

I'm updating Team Foundation work items using the UpdateWorkItemAsync method. The relevant line of code looks like this:
Microsoft.TeamFoundation.WorkItemTracking.WebApi.Models.WorkItem result =
workItemTrackingClient.UpdateWorkItemAsync(patchDocument, id.Value).Result;
(I think this will loom familiar to anyone managing TFS workitems with the webapi library)
The sample code I found in github uses newtonsoft.json 9.0.0.0, and works fine.
In my project I use newtonsoft.json 11.0.0.0, and the patchdocument fails to serialize (The body of the call is an empty json - {} ). And when i upgaded the sample code to version 11 it failed also.
This looks to me like a bug in version 11.0.0.0. Is there a workaround? Is there a serialization setting that i need to change? Any ideas?

I could reproduce your scenario, only version 11.0.0.0 doesn't work. I have created a report at website below, let's track it:
https://developercommunity.visualstudio.com/content/problem/212774/api-that-update-a-work-item-field-doesnt-work-with.html
Update:
Here is the response from feedback:
It looks like this is an issue with Newtonsoft.Json that will be fixed
in the 11.0.2 release.
You could use newtonsoft.json 10.0.3 temporarily, which is working.

Related

Old Version of Newtonsoft.JSon being Used in Docker

I have an application where I have removed my references to the Newtonsoft.Json library and used instead Swashbuckle.ASpNetCore.Newtonsoft version 6.1.4. When I run this locally everything works great. Swagger loads, I am able to query my API with no issues and the world is a nice place. I deploy this code to an Azure Server in Docker and where everything there was working great before, now I have problems. Swagger will not load and my API doesn't work at all, because the application doesn't even start. It would appear that something, somewhere is looking for Newtonsoft.Json version 12.0.0.0 because this is the error I get in the logs.
Any ideas would be greatly appreciated.
In case anyone else has this issue in the future, here is the solution in my case. The Coverlet NuGet package was causing this error. I removed the package and the problem went away.

Can't Add View from Controller in VS 2015 : "There was an error running the selected code generator"

I'm following a video tutorial where I'm required to create an empty ASP.NET Web Application with MVC, using Visual Studio 2015, being new to ASP.NET world, I'm following step by step.
I got my project created well, next step adding a View from an existing Controller, I got hit by a messagebox error saying :
Error :
There was an error running the selected code generator:
'Invalid pointer (Exception from HRESULT:0x80004003(E_POINTER))'
I Googled the problem, found similar issues, but none led to a clear solution, some similar problems were issued by anterior version of VisualStudio, but as I said none with a clear solution.
To clarify what I experienced, here's what I've done step by step :
Chosen a ASP.NET Web Application :
Chosen Empty Template with MVC checked :
Tried to Add View from a Controller :
Some settings ...
The Error :
What's causing this problem and What is the solution for it ?
Update :
It turns out that even by trying to add the View manually I get the same error, adding a view is all ways impossible !
Try clearing the ComponentModelCache, the cache will rebuild next time VS is launched.
Close Visual Studio
Delete everything in this folder C:\Users\ [your users name] \AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache
Restart Visual Studio
14.0 is for visual studio 2015. This will work for other versions also.
I had this issue with a different error message "-1 is outs the bounds of.."
The only thing that worked for me, was to remove the project from the solution by right clicking the project and selecting 'Remove'. Then right click the solution, Add Existing Project, and selecting the project to reload it into the solution.
After reloading the project, I can now add views again.
I have the same error but in VS 2017 when I create a controller. I did it in the same way as #sh.alawneh wrote. Also, I tried to do what #longday wrote. But It didn't work. Then I tried in another way:
Right click on the target folder.
From the list, choose Add => New Item.
There I choose a new controller and it works fine.
Maybe I'll help someone.
Follow these steps to add a view in a different way than the typical way:
1) Open Visual studio.
2) Create/open your project.
3) Go to Solution Explorer.
4) Right click on the target folder.
5) From the list, choose Add.
6) From the child list, choose MVC View Page (Razor) or MVC View Page with layout (Razor).
7) If you select the second choice from the previous step, you should choose a layout page for your view from the pop up window.
8) That's it!
If you cannot open the view that you are created, simply right click on the view file, choose Open with, and select HTML (web forms) editor then okay.
In my case helped the following:
Restart VS
Solution Explorer => Right click on solution => Rebuild solution
I solved this problem in this way
first I had Entity frameworks with the latest version 5.0.5
and the code generation package with version 5.0.2
so I just uninstalled Entity frameworks and install version 5.0.2 as the same for code generation package
and its worked
Right-click on the project under the solution and click unload Project,
you will see that the project is unloaded, so now re right-click on it and press load project
then try to add your controller
Lets assume you are using a datacontext in a DLL, well, it was my case, and I dont know why I have the same error that you describe, I solve it creating a datacontextLocal on the backend project. then I pass the Dbset to the correct datacontext and delete the local (you can let it there if you want, can be helpfull in the future
if you ready are using it in local datacontext, create a new one and then pass the Dbset to the correct one
In ASP.NET Core check if you have the Microsoft.VisualStudio.Web.CodeGeneration.Tools nuget package and it corresponds to your project version.
C:\Users\{WindowsUser}\AppData\Local\Microsoft\VisualStudio\16.0_8183e7d1\ComponentModelCache
Remove from this folder for VS 2019 ....
I am working on a Core 3 app and had this issue pop up when adding a controller. I figured out that the Microsoft.VisualStudio.Web.CodeGeneration.Design package was updated with a .net 4.x framework dll. Updating to the project to Core 3.1 fixed the issue.
just in case someone is interested - the solution with clean cache didnt work for me. but i've managed to solve an issue but uninstalling all .Net frameworks in the system and then install them back one by one.
I just restarted my visual studio and it worked.
Try clearing the ComponentModelCache,
1.Close Visual Studio
2.Delete everything in this folder C:\Users\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache
3.Restart Visual Studio
4.Check again
this also used VS2017 to get solution
I ran into a similar issue that prevented the code generation from working. Apparently, my metadata had unknown properties or values. I must admit I did not try all the answers here but who really wants to reinstall vs or download any of the numerous Nuget packages being used.
Cleaning the project worked for me (Build->Clean Solution) The generator was using some outdated binaries to build the controller and views. Cleaning the solution removed the outdated binaries and voilà.
I'm currently trying to familiarise myself with MVC 4. I've been developing with MVC 5 for a while, but I need to know MVC 4 to study for my MCSD certification. I'm following a tutorial via Pluralsight, targeting much older versions of Entity Framework, and MVC, (the video was released in 2013!)
I hit this exact same error 2 hours ago and have been tearing my hair out trying to figure out what is wrong. Thankfully, because the project in this tutorial is meaningless, I was able to step backward throughout the process to figure out what it was that was causing the object ref not set error, and fix it.
What I found was an error within the structure of my actual solution.
I had a MVC web project set up ('ASP.NET Web Application (.NET Framework)'), but I also had 2 class libraries, one holding my Data Access Layer, and one holding the domain setup for models connecting to my database.
These were both of type 'Class Library (.NET Standard)'.
The MVC project did not like this.
Once I created new projects of type 'Class Library (.NET Framework)', and copied all the files from the old libraries to the new ones and fixed the reference for the MVC web project, a rebuild and retry allowed me to scaffold the View correctly.
This may seem like an obvious fix, don't put a .NET Standard project alongside a .NET Framework one and expect it to work normally, but it may help others fix this issue!
My problem was the Types used in the Model Class.
Using the Types like this:
[NotMapped]
[Display(Name = "Image")]
public HttpPostedFileBase ImageUpload { get; set; }
[NotMapped]
[Display(Name = "Valid from")]
public Nullable<DateTime> Valid { get; set; }
[NotMapped]
[Display(Name = "Expires")]
public Nullable<DateTime> Expires { get; set; }
No longer works in the Code Generator. I had to remove these types and scaffold without them, then add them later.
It is silly, [NotMapped] used to work when scaffolding.
Use the base Types: int, string, byte, and so on without Types like: DateTime, List, HttpPostedFileBase and so on.
I have been scratching my head with this one too, what i found in my instance was that an additional section had been added to my Web.config file. Commenting this out and rebuilding solved the issue and i was now able to add a new controller.
A simple VS restart worked for me. I just closed VS and restarted.
None of these solutions worked for me. I just updated Visual Studio (updates were available) and suddenly it just works.
The issue has been resolved after installed EntityFramework from nuget package manager into my project. Please take a look on your project references which already been added EntityFramework. Finally I can add the view with template after I added EntityFramework to project reference.
Deleting the .vs folder inside the solution directory worked for me.
I know this is a really old thread, but I came across it whilst working on my issue. Mine was caused because I had renamed one of my Model classes. Even though the app built and ran fine, when I tried to add a new controller I got the same error. For me, I just deleted the class I had renamed, added it back in and all was fine.
Check your Database Connection string and if there any syntax errors in the appsettings.json it will return this error.
Another common cause for this, which is hinted in the build log, is your IIS Express Web Server is running while you are trying to build a scaffold. Stop/Exit your web server and try building the scaffold again.
Try unload and reload project (solution).
So, i had this problem in vs2019.
none of the other suggestions helped me
This is what fixed me:
upgrade .net 5.0 dependencies to 5.0.17
I had same error. what I did was to downgrade my Microsoft.VisualStudio.Web.CodeGeneration.Design to version 3.1.30 since my .net version was netcoreapp3.1. This means the problem was a mismatch of the versions.
So check your version of dotnet and get a matching version of Microsoft.VisualStudio.Web.CodeGeneration.Design that supports it.
I had similar proble to this one. I went through 2 appraches for solving this.
First Approach: Not The Best One...
I had created a project on VS2019, and tried to add a controller using VS2022. Not possible. I'd get an error every time.
Error ... Parameter name: searchFolder
Only from VS2019 I'd be able to scaffold the controller I needed. Not the best solution really... But it worked nevertheless.
You could try adding what you need from a different VS version.
Second Approach: The Best One
After further research I found this solution.
From Visual Studio Installer, I added the following components to my VS22 installation:
.NET Framework project and item templates
This made possible to add the controller I needed on VS22.
I know this solution does not point exactly to your problem, but it's maybe a good lead to it. Like you, when I was trying to add/scaffold the controller, I was able to see all the components in the wizard, but in creation after naming it, the error was thrown.
I was also trying. I was facing face problem. I searched on google. I found an error solution. So I am sharing it with you.
You should clear ComponentModelCache in your directory.
1 First Close Visual Studio
2 delete everything from this path
C:\Users\AppData\Local\Microsoft\VisualStudio\15.0\ComponentModelCache
3 Visual Studio Start Again
Hopefully, error will finish

Breezejs update - Latest version of Breeze.WebApi fails on Metadata

I am building on Hottowel spa template and my solution was working fine for Read, Save and Update. Delete was failing though with "Object reference not set to instance of object". At this point the Breeze.webapi verison was 1.2.0.0. After reading some articles, it was suggested to update the breeze to latest version.
I updated the breeze framework using nuget package manager and now, it fails while parsing the metadata - It says JSON string returned from the server have parsing errors. But when I look at the JSON using JSON formatters in chrome. It looks just fine. This is happening with Breeze.webapi version 1.2.8.0.
Now, if I switch just the breeze.webapi dll back to ver. 1.2.0.0. Metadata part works just fine again, however delete doesn’t.
Any help is appreciated
The likely cause is that the NuGet update did only part of the job and left your application with a mix of new and old Breeze parts. You could see that this happened by looking in the Package Console window but most folks don't look. Having been burned with every NuGet package upgrade I can think of, I now watch that console like a hawk.
I think you'll get out of trouble if you completely uninstall Breeze and re-install the latest. Look at that output window carefully. If it fails to remove something (as it might), there will be a warning to that effect. Please delete that lingering item manually before re-installing.
I'm talking to John about updating the HotTowel template so that upgrading the Breeze package feels less urgent.
Sorry for your pain.

Does NuGet Update UI work at all?

It just baffles me that even though upddates show up in the Manage NuGet Packages UI for a solution, clicking the update button results in a process that looks like it should work and then fails at the end for no apparent reason. I always have to fall back to uninstalling by hand, removing the project references for the library, and manually deleting the reference from the project file. (Why remove does not do this I have no idea.)
My Setup:
VS2012RC - maybe this works in VS2012RTM?
NuGet v2.1 - the latest as far as I know
F# - I've only been working in F# lately, maybe the problem is specific to F#?
FSharpx.Core - this is the library I update all the time, but I have experienced it with others
At first the messages look like it is working (upgrading from 1.6.78 to 1.6.83)
Added file 'FSharpx.Core.1.6.83.nupkg' to folder 'FSharpx.Core.1.6.83'.
etc.
Successfully installed 'FSharpx.Core 1.6.83'.
'FSharpx.Core 1.6.83' already installed.
Looking for updates for 'FSharpx.Core'...
Updating 'FSharpx.Core' from version '1.6.78' to '1.6.83' in project 'DS_Benchmark'.
'packages.config' already exists. Skipping...
Successfully removed 'FSharpx.Core 1.6.78' from DS_Benchmark.
'packages.config' already exists. Skipping...
Maybe skipping 'packages.config' is the problem, since the version should be updated in that file.
Then the messages start looking bad. Just installed files start getting removed.
Removed file 'FreebaseTypeProvider.htm' to folder 'C:\Users\Jack\Documents\GitHub\DS_Benchmark\packages\FSharpx.Core.1.6.83\...
etc.
Successfully uninstalled 'FSharpx.Core 1.6.83'.
(As an aside, could NuGet please use the correct preposition for "remove" in their message?)
It's a bug in NuGet 2.1, or else a change to the F# project system in VS 2012 that breaks NuGet.
http://nuget.codeplex.com/discussions/395351
They've acknowledged the problem, and pledge to have it fixed in NuGet 2.2. In the meantime, you can help by voting for the bug, and also this other NuGet/F#/VS2012 bug.

Sample code for file-picker in Xamarin android

Can anyone show me how to implement a file-chooser/picker for Android using Mono?
Thanks in advance,
Tery
Would this sample work for you?
You can also use one of the Xamarin Plugin projects available as a NuGet package, if you want to support more platforms later. The currently most actively maintained package is this one:
https://github.com/jfversluis/FilePicker-Plugin-for-Xamarin-and-Windows
(note: I'm one of the contributors to the project).
Picking files is as easy as calling var result = await PickFile() and checking the result object. See also the sample code mentioned in the README.md of the Github project.

Resources