Forum Discussion
Method not found: 'Void Newtonsoft.Json.JsonSerializerSettings..ctor(Newtonsoft.Json.JsonSerializer"
Hi everyone,
After updating to the March 2026 release (2.152.882.0), I'm unable to open any .pbip (Power BI Project) files. Opening .pbix files works without any issues.
Error message:
Method not found: 'Void Newtonsoft.Json.JsonSerializerSettings..ctor(Newtonsoft.Json.JsonSerializerSettings)'
The error occurs at:
Microsoft.PowerBI.Packaging.PowerBIPackagingUtils.ToObjectWithExtraExceptionHandling → PBIProjectSchemaValidator.GetSchemaValidated → PBIProjectShredder.OpenProjectAsync
Environment:
— Power BI Desktop: 2.152.882.0 (March 2026, 64-bit)
— OS: Windows 10/11 (NT 10.0.26100.0, x64)
— CLR: 4.8 or later (Release 533320)
— Git Integration enabled (PBI_gitIntegration)
— TMDL in Dataset enabled (PBI_tmdlInDataset)
What I've tried:
— Confirmed .pbix files open without issues — only .pbip is affected
— Searched for conflicting Newtonsoft.Json.dll files on the system — found copies in GitHub Desktop, Teams Meeting Add-in, and Tabular Editor, but renaming them did not resolve the issue
— Uninstalled Node.js (recently installed) — no effect
— Colleagues on the same March 2026 version cannot open .pbip files, same error
— One colleague on the February version has no issues either
Has anyone else encountered this issue after the March 2026 update? Any suggestions would be appreciated.
Thanks,
Roman
37 Replies
- hale
Helper II
This issue happens to me today while setting up a new laptop. If you have visual studio, it is quite straight forward to fix, hopefully will help someone:
- Assuming you have this issue because you have a lower version of this dll Newtonsoft.Json.dll in the following folder C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Newtonsoft.Json
- Search your drive for Newtonsoft.Json.dll and find one with version 13.0.3.27908. You should have plenty as most applications ship with the dll that they compile with.
- Make another folder and copy that dll with higher version in that folder.
- Open Visual Studio then open Developer Command Prompt or you can go straight to Visual Studio Command Prompt.
- Change default directory to the directore you created in step 3
- run command gacutil -i Newtonsoft.Json.dll
- Confirm the new dll has been registered with GAC by seeing this message: Assembly successfully added to the cache.
- Open PBI project file again and the issue should be fixed.
Hope this helps.
- Rami20New Member
Does anyone still have this issue? i downloaded the April update and it still exists.
Thanks
- v-echaithra
Community Support
Hi Rami20 ,
Even with the April update, this issue can still occur because it is environment dependent rather than strictly tied to the Power BI Desktop version. Please check the version of Newtonsoft.Json in the GAC at C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Newtonsoft.Json. If it is 13.0.1, the issue will persist, whereas 13.0.3 or higher should resolve it. Power BI (March/April) requires Newtonsoft.Json ≥ 13.0.2, but if an older version exists in the GAC, it overrides the bundled version, causing .pbip files to fail. As a temporary workaround, you can try using the January version.
Previous monthly updates to Power BI Desktop and the Power BI service - Power BI | Microsoft Learn
Hope this helps.
- markmak77New Member
Thanks - this helped me resolve the issue.
One thing I'd suggest improving in the instructions though is step 2. You can get the dll directly from NuGet: https://www.nuget.org/packages/Newtonsoft.Json/13.0.3 -> download package -> rename extension from "nupkg" to "zip" -> extract -> dll is located in "lib/net45".
- RomanTesolkinFrequent Visitor
this worked, however need admin rights to perform such change
- anilelmastasi
Super User
Hello TRoman ,
This problem is generally about Power BI Desktop version. Can you downgrade your version? You can download January 2026 from here:
If this solved your issue, please mark it as the accepted solution. ✅
- TRomanNew Member
Hi anilelmastasi ! Thanks for the tip. Reverting works temporarily, but our auto-update policy pushes the March version back out after every restart. Since users can’t manually uninstall, we really need to find the root cause.
Will helt to identify if we are seeing this across the board with the March release, or is it isolated to our tenant.
Best,
Roman
- pixmeister
Advocate I
This is not just isolated to you. All of our users are impacted
- cloorRegular Visitor
Hello,
- The same issue rise at my version: Version: 2.152.882.0 64-bit (March 2026)
- Our company has a auto update policy as well, which cannot be turned off.
- Therefore, this workaround isn't a solution
Best regards,
Christian - RuiRomanoMS
Microsoft Employee
Can you please share the full details of the "Copy details to clipboard"?
- CW2349Frequent Visitor
Hello,
i am facing the same problem.
my version in C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Newtonsoft.Json is:
v4.0_13.0.0.0__30ad4fe6b2a6aeed
and the copy details: https://gist.github.com/cw-dvs/d2e607dd8d65a8a6eee545854d42e925
in the meanwhile i am reverting to the january release.
- RuiRomanoMS
Microsoft Employee
We’ve identified an issue in the March release affecting users who have Newtonsoft.Json (version 13.0.1) installed in their Global Assembly Cache (GAC).
What is happening?
The latest update utilizes code features introduced in Newtonsoft.Json 13.0.2. Because all 13.x versions of this library share the same assembly version (13.0.0.0), Power BI Desktop prioritize the older version stored in your GAC over the version included with the app, leading to an error.Current Workarounds
Our team is actively working on a better solution to this problem. In the meantime, you can resolve this by ensuring the GAC does not override the required library using one of the following methods:- Option 1: Remove the assembly from the GAC Run the following command in your terminal: gacutil.exe /u Newtonsoft.Json
Option 2: Update the GAC to a compatible version (13.0.3 or higher) Download the newer DLL and install it using: gacutil.exe /i "<path to dll>"
- Option 1: Remove the assembly from the GAC Run the following command in your terminal: gacutil.exe /u Newtonsoft.Json
- ptprussakFrequent Visitor
RuiRomanoMS I have the same issue, with pretty much the same details when copied to clipboard.
As an added bonus I can also share all the installed 3rd party tools.. but maybe I can test it out on other computers if needed:- ptprussakFrequent Visitor
One of those dependencies is a culprit. I just set up a brand new environment with Mar 26 release of PowerBI AND WITHOUT any of the external tools in the screenshot and was able to open the same PBIP without any issues.
- RomanTesolkinFrequent Visitor
Feedback Type:
Frown (Error)Timestamp:
2026-03-24T08:41:31.3096829ZLocal Time:
2026-03-24T09:41:31.3096829+01:00Session ID:
71fe43e2-6d83-4712-9d62-0defbbf011c9Release:
March 2026Product Version:
2.152.882.0 (26.03)+1a553843dbf742c4f296a385ff17812c9662bc4d (x64)Error Message:
Method not found: 'Void Newtonsoft.Json.JsonSerializerSettings..ctor(Newtonsoft.Json.JsonSerializerSettings)'.Stack Trace:
System.MissingMethodException
at Microsoft.PowerBI.Packaging.PowerBIPackagingUtils.ToObjectWithExtraExceptionHandling(JToken jtk, Type objectType, JsonSerializerSettings settings)
at Microsoft.PowerBI.Packaging.PowerBIPackagingUtils.ToObjectWithExtraExceptionHandling[T](JToken jtk, JsonSerializerSettings settings)
at Microsoft.PowerBI.Packaging.Project.PBIProjectSchemaValidator.GetSchemaValidated[T](JObject jObj, String artifactName, String jsonFilePath, Boolean additionalPropertiesAreWarnings)
at Microsoft.PowerBI.Packaging.Project.PBIProjectSchemaValidator.ConstructPostV1WithJObjAdjustment[T](JObject jObj, String artifactName, String filePath, List`1 allWarnings, Boolean additionalPropertiesAreWarnings)
at Microsoft.PowerBI.Packaging.Project.PBIProjectSchemaValidator.GetValidVariant[TV1,T](String json, String filePath)
at Microsoft.PowerBI.Packaging.Project.PBIProjectShredder.<>c__DisplayClass34_0`2.<<GetUpgradedVariant>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Packaging.Project.PBIProjectShredder.<CallAndConvertIntoPathExceptionsAsync>d__32`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Packaging.Project.PBIProjectShredder.<GetUpgradedVariant>d__34`2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Packaging.Project.PBIProjectShredder.<OpenProjectAsync>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.Services.BiProjectOperationHandler.<WithProjectExceptionConversion>d__51`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.Services.BiProjectOperationHandler.<>c__DisplayClass46_0.<<LoadFromPbip>g__LoadFromPbipCore|0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.Telemetry.PowerBITelemetryServiceExtensions.<EmitStandardizedClientReportingEventWithDebugEvent>d__7`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.Services.BiProjectOperationHandler.<EmitStandardizedClientReportingEventWithDebugEvent>d__48`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.Services.BiProjectOperationHandler.<LoadFromPbip>d__46.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.Services.BiProjectOperationHandler.<LoadArtifact>d__40.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.Services.CurrentArtifactManager.<>c__DisplayClass56_0.<<ExecuteAndHandleFileOpenErrors>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.Telemetry.PowerBITelemetryServiceExtensions.<EmitStandardizedClientReportingEventWithDebugEvent>d__7`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.Services.CurrentArtifactManager.<ExecuteAndHandleFileOpenErrors>d__56.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.Services.CurrentArtifactManager.<>c__DisplayClass37_0.<<OpenArtifactAndSetAsCurrent>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.Services.UIBlockingService.<>c__DisplayClass19_0`1.<<BlockUIAndRun>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.PowerBI.Client.Windows.Services.UIBlockingService.WaitOnUIThreadForTaskCompletion[T](Task`1 task)
at Microsoft.PowerBI.Client.Windows.Services.UIBlockingService.BlockUIAndRun[T](Func`1 asyncMethod, PowerBIProgress progress, String activityId)
at Microsoft.PowerBI.Client.Windows.Services.CurrentArtifactManager.OpenArtifactAndSetAsCurrent(IPowerBIWindowService windowService, IPowerBIArtifact artifactToOpen, IExceptionHandler exceptionHandler, Nullable`1 entryPoint)
at Microsoft.PowerBI.Client.CommandLineFileService.TryOpenOrCreateReport(IPowerBIWindowService windowService, IExceptionHandler exceptionHandler, Boolean forceCreate)
at Microsoft.PowerBI.Client.AppReportFlow.<OpenExistingReport>d__50.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.PowerBI.Client.AppReportFlow.<OpenExistingReport>d__50.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.AppReportFlow.<ContinueLoadWithMainWindow>d__43.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.AppModule.<>c__DisplayClass4_2.<<Run>b__4>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.MainWindow.<<ActivateMainWindow>b__41_1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.IExceptionHandlerExtensions.<HandleAwaitableAsyncExceptions>d__1.MoveNext()Stack Trace Message:
Method not found: 'Void Newtonsoft.Json.JsonSerializerSettings..ctor(Newtonsoft.Json.JsonSerializerSettings)'.Invocation Stack Trace:
at Microsoft.Mashup.Host.Document.ExceptionExtensions.GetCurrentInvocationStackTrace()
at Microsoft.Mashup.Client.UI.Shared.StackTraceInfo..ctor(String exceptionStackTrace, String invocationStackTrace, String exceptionMessage)
at Microsoft.PowerBI.Client.Windows.Telemetry.PowerBIUserFeedbackServices.GetStackTraceInfo(Exception e)
at Microsoft.PowerBI.Client.Windows.Telemetry.PowerBIUserFeedbackServices.ReportException(IWindowHandle activeWindow, IUIHost uiHost, FeedbackPackageInfo feedbackPackageInfo, Exception e, Boolean useGDICapture)
at Microsoft.Mashup.Client.UI.Shared.UnexpectedExceptionHandler.<>c__DisplayClass14_0.<HandleException>b__0()
at Microsoft.Mashup.Client.UI.Shared.UnexpectedExceptionHandler.HandleException(Exception e)
at Microsoft.PowerBI.Client.PowerBIUnexpectedExceptionHandler.HandleException(Exception e)
at Microsoft.PowerBI.Client.Windows.Utilities.PowerBIFormUnexpectedExceptionHandler.HandleException(Exception e)
at Microsoft.PowerBI.Client.Windows.IExceptionHandlerExtensions.<HandleAwaitableAsyncExceptions>d__1.MoveNext()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run()
at System.Threading.Tasks.AwaitTaskContinuation.RunCallback(ContextCallback callback, Object state, Task& currentTask)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task.Finish(Boolean bUserDelegateExecuted)
at System.Threading.Tasks.Task`1.TrySetException(Object exceptionObject)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetException(Exception exception)
at Microsoft.PowerBI.Client.Windows.MainWindow.<<ActivateMainWindow>b__41_1>d.MoveNext()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run()
at System.Threading.Tasks.AwaitTaskContinuation.RunCallback(ContextCallback callback, Object state, Task& currentTask)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task.Finish(Boolean bUserDelegateExecuted)
at System.Threading.Tasks.Task`1.TrySetException(Object exceptionObject)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetException(Exception exception)
at Microsoft.PowerBI.Client.AppModule.<>c__DisplayClass4_2.<<Run>b__4>d.MoveNext()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run()
at System.Threading.Tasks.AwaitTaskContinuation.RunCallback(ContextCallback callback, Object state, Task& currentTask)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task.Finish(Boolean bUserDelegateExecuted)
at System.Threading.Tasks.Task`1.TrySetException(Object exceptionObject)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetException(Exception exception)
at Microsoft.PowerBI.Client.AppReportFlow.<ContinueLoadWithMainWindow>d__43.MoveNext()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run()
at System.Threading.Tasks.AwaitTaskContinuation.RunCallback(ContextCallback callback, Object state, Task& currentTask)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task.Finish(Boolean bUserDelegateExecuted)
at System.Threading.Tasks.Task`1.TrySetException(Object exceptionObject)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetException(Exception exception)
at Microsoft.PowerBI.Client.AppReportFlow.<OpenExistingReport>d__50.MoveNext()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run()
at System.Threading.Tasks.AwaitTaskContinuation.RunCallback(ContextCallback callback, Object state, Task& currentTask)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task`1.TrySetResult(TResult result)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(TResult result)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(Task`1 completedTask)
at Microsoft.PowerBI.Client.AppReportFlow.<EnsureEmptyDatabase>d__49.MoveNext()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run()
at System.Threading.Tasks.AwaitTaskContinuation.RunCallback(ContextCallback callback, Object state, Task& currentTask)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task`1.TrySetResult(TResult result)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(TResult result)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(Task`1 completedTask)
at Microsoft.PowerBI.Client.AppReportFlow.<CreateEmptyDatabase>d__48.MoveNext()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run()
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Delegate.DynamicInvokeImpl(Object[] args)
at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
at Microsoft.Mashup.Client.UI.Shared.WindowManager.ShowModal[T](T dialog, Func`1 showModalFunction)
at Microsoft.PowerBI.Client.AppModule.<>c__DisplayClass4_0.<Run>b__0()
at Microsoft.PowerBI.Client.Windows.IExceptionHandlerExtensions.<>c__DisplayClass3_0.<HandleExceptionsWithNestedTasks>b__0()
at Microsoft.Mashup.Host.Document.ExceptionHandlerExtensions.HandleExceptions(IExceptionHandler exceptionHandler, Action action)
at Microsoft.PowerBI.Client.AppModule.Run()
at Microsoft.PowerBI.Client.Program.RunApplicationFlow(String[] args, IPowerBIRootTrace trace)
at Microsoft.PowerBI.Client.Program.Main(String[] args)
PowerBINonFatalError:
{"AppName":"PBIDesktop","AppVersion":"2.152.882.0","ModuleName":"Microsoft.PowerBI.Packaging.dll","Component":"Microsoft.PowerBI.Packaging.PowerBIPackagingUtils","Error":"System.MissingMethodException","MethodDef":"ToObjectWithExtraExceptionHandling","ErrorOffset":"-1","ErrorCode":""}
- MichaelGilmore
Microsoft Employee
Can you please check to see if you have an old version of Netwonsoft.Json installed at this path?
C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Newtonsoft.Json
Power BI Desktop might be running the old version from here rather than the new version bundled with the March update.
- RomanTesolkinFrequent Visitor
Hi MichaelGilmore, will try to fix internally and hope with next release the issue will be fixed permanently. The answer we got from MS support:
If you would, can you go to the file locations from Process Explorer (the screenshot that's down thread), right-click on the dll and choose Properties and find what the actual file version is? While you're in there, head to the folder at C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Newtonsoft.Json\, select the .dll there and check its versioning as well.
If it's not 13.0.3.2798, that's the source of the error you've been seeing. Your IT team will need to update the version of the Newtonsoft.Json.dll in the GAC to 13.0.3.2798 or newer on affected machines
This is what our version is and has errors in March release:
- h1tmanRegular Visitor
Run this PowerShell command and it will fix the issue.
# -----------------------------
# Install Newtonsoft.Json 13.0.3 to GAC (keep old versions)
# -----------------------------
# Temp folder for download
$tempBase = "C:\Temp\NewtonsoftInstall"
New-Item -ItemType Directory -Force -Path $tempBase | Out-Null
# Target version
$version = "13.0.3"
$publicKeyToken = "30ad4fe6b2a6aeed"
# NuGet package URL
$nugetUrl = "https://www.nuget.org/api/v2/package/Newtonsoft.Json/$version"
# Folder for this download
$tempPath = Join-Path $tempBase "Newtonsoft_$version"
New-Item -ItemType Directory -Force -Path $tempPath | Out-Null
# Download NuGet package
$nupkgPath = Join-Path $tempPath "newtonsoft.nupkg"
Invoke-WebRequest -Uri $nugetUrl -OutFile $nupkgPath
# Rename .nupkg to .zip for extraction
$zipPath = Join-Path $tempPath "newtonsoft.zip"
Rename-Item -Path $nupkgPath -NewName "newtonsoft.zip"
# Extract ZIP
Expand-Archive -Path $zipPath -DestinationPath $tempPath -Force
# Locate net45 DLL
$dllPath = Get-ChildItem -Path $tempPath -Recurse -Filter "Newtonsoft.Json.dll" |
Where-Object { $_.FullName -match "\\net45\\" } |
Select-Object -First 1
if (-not $dllPath) { throw "ERROR: Newtonsoft.Json.dll not found!" }
# GAC path for this version
$gacRoot = "C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Newtonsoft.Json"
$gacFolder = "$gacRoot\$version`__$publicKeyToken"
# Skip if this exact version is already installed
if (Test-Path $gacFolder) {
Write-Host "Newtonsoft.Json version $version already exists in GAC."
return
}
# Create GAC folder
New-Item -ItemType Directory -Path $gacFolder -Force | Out-Null
# Take ownership & set permissions
takeown /f $gacFolder /r /d y | Out-Null
icacls $gacFolder /grant administrators:F /t | Out-Null
# Copy DLL into GAC
Copy-Item $dllPath.FullName -Destination $gacFolder -Force
Write-Host "Installed Newtonsoft.Json version $version into GAC."
Write-Host "Location: $gacFolder"
- CW2349Frequent Visitor
thank you, worked for me.
- pixmeister
Advocate I
Not terribly useful being told to revert to a prior version. Like others our software is automatically published/updated. We have no control over the version. Can you please advise when a fixed version will be available?
- MichaelGilmore
Microsoft Employee
I don't think there will be a "fixed" version released. As from the Microsoft perspective the design of Power BI Desktop is correct. PBI Desktop like 99% of .NET Apps reads from the systems local folder for dependencies first, rather than the libraries its bundled with as this allows windows update to update these libraries in one central organisation controllable location rather than requiring each and every program that depends on these libraries to be updated manually.
Unfortunately your organisation will need to either remove or update the Newtonsoft library from this path across all affected machines.
C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Newtonsoft.Json
- RyanNicolsonFrequent Visitor
I’m not sure that explanation fully holds up here. In this case, Power BI is calling methods that don’t exist in the version of Newtonsoft.Json being resolved from the GAC. Since Power BI already ships with its own copy of this dependency, it seems more appropriate for the application to explicitly bind to the version it was built and tested against, rather than relying on a shared, system‑wide assembly.
Asking customers to remove or modify a GAC‑installed DLL is risky in enterprise environments, as that DLL may be required by other supported software. Modifying the GAC as a workaround doesn’t feel like a viable long‑term solution.
Also, Windows Update should not be updating third‑party assemblies installed in the GAC by other applications, as those are outside the Windows servicing model.
- v-echaithra
Community Support
Hi TRoman ,
Since rollback isn’t feasible in your environment due to auto update policies, Please consider checking out the Issues forum here:
Issues - Microsoft Fabric Community
And if it is not there, then you could post it in the same forum.
I hope this answers your query.
Best Regards,
Chaithra E. - ptprussakFrequent Visitor
Same issue with all of my PBIP projects. Had to downgrade to Feb Release. Any fixes that people can post would be welcome.
- BL_consultantFrequent Visitor
I have the same issue and cannot downgrade to Feb Release. And most of my work is in PBIP so fix for this is needed asap.
- OyvindGjorvenNew Member
Same issue here. January release worked for me.