Using WINDBG with Silverlight 4.0.60831.0 - silverlight

I just upgraded my machine to Silverlight version 4.0.60831.0 to see if it would help with some Memory leaking issues that I'm seeing.
Now when I try to use WinDbg and attempt to load the SOS.dll I realize that there is no SOS.dll for the .60831 version. I loaded the previous 4.0.60531.0 version, but when I attempt to dumpheap, I get the following error:
The version of SOS does not match the version of CLR you are debugging. Please
load the matching version of SOS for the version of CLR you are debugging.
CLR Version: 4.0.60831.0
SOS Version: 4.0.60531.0
I tried the .loadby command and that was unsuccessful as well
0:028> .loadby sos coreclr
The call to LoadLibrary(c:\Program Files (x86)\Microsoft Silverlight\4.0.60831.0\sos) failed, Win32 error 0n126
"The specified module could not be found."
Please check your debugger configuration and/or network access.
This makes sense because there is no SOS.dll file in that directory.
Is there something I missed somewhere?
Thanks in advance

sos.dll for Silverlight 4 comes with Silverlight 4 Developer Runtime.

http://go.microsoft.com/fwlink/?LinkID=146060
It will download Silverlight_Developer.exe which will contain sos.dll 4.0.60831.0
which is the corresponding developer runtime for Silverlight.

Related

Microsoft.Bcl.AsyncInterfaces error (in CSVHelper method) when running the application installed by Visual Studio Setup project

I have a WPF application that reads a CSV file using CSVHelper which I installed using NuGet. Here's the project, system, etc version info.
Microsoft Windows 7 Professional Version 6.1.7601 Service Pack 1 Build
7601
Microsoft Visual Studio Community 2019 Version 16.4.5
NuGet Package Manager 5.4.0
WPF Project Target Framework: .NET Framework 4.7.2
CSVHelper Version: 15.0.5
CSV reader method is straightforward; read a file and put it in a list. Nothing fancy. I'll link the entire project at the bottom so you can download and try it out if you want.
When I run the executable made in either Release or Debug builds, they work fine. They read the file, put contents in a list, and display on a DataGrid just fine. As a next step, I created a standard Visual Studio Setup project, and created an msi installer, which I used to install the app in my PC.
When I run that executable (which is in my Program Files directory), however, the application throws an exception. Here's the exception message and Stack Trace.
Could not load file or assembly 'Microsoft.Bcl.AsyncInterfaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. Reference assemblies should not be loaded for execution. They can only be loaded in the Reflection-only loader context. (Exception from HRESULT: 0x80131058)
at ReadCSVTest.MainWindow.ReadPeopleList(String path, List`1& people, String& msg)
at ReadCSVTest.MainWindow..ctor()
Since the error says couldn't load the assembly Microsoft.Bcl.AsyncInterfaces, I added that from NuGet and ran everything again, and I still get the error. What's the problem here? What does it mean that Reference assemblies should not be loaded for execution. They can only be loaded in the Reflection-only loader context.? And why do I only get this exception when I run the executable installed by the Setup project?
Please download the entire project from HERE.
Just so anyone runs into the same issue in the future; as Jones suggested in the comments, downgrading each of the two libraries to following versions fixed the issue for me.
CsvHelper ==> 12.3.2
And
Microsoft.Bcl.AsyncInterfaces ==> 1.0.0

Could not Load timescaledb-1.6.0.dll - Not a Valid Win32 Application

I've come across an issue when attempting to load timescaledb using PostgreSQL v10.11... Upon executing the following command:
CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;
I'm greeted with the following error:
ERROR: could not load library "<postgresfolder>/lib/timescaledb-1.6.0.dll": %1 is not a valid Win32 application.
postgresfolder = The path to my postgres installation location.
I've attempted this with PostgreSQL v11.6 aswell, with the same outcome. I don't believe it to be a dependency issue (Visual Studio C++ Redist. 2015) as I meet all the prerequisites listed # https://docs.timescale.com/latest/getting-started/installation/windows/installation-windows.
Any help would be greatly appreciated!
(EDIT): The installation is being performed on Windows 10, 64bit.
I got this problem due to ssleay32 and libeay32 dlls. Get binaries from https://get.enterprisedb.com/postgresql/postgresql-11.4-1-windows-x64-binaries.zip and copy them from postgresql-11.4-1-windows-x64-binaries/bin into your /bin folder. If they did not exist, still copy and keep them there.
Also, it looks like timescaledb only works with 11.4 version if you wanna stick with 11.

Warning CS0618 resolution

I am trying to get rid of
Warning CS0618: 'IDtsClipboardService' is obsolete: Use 'Microsoft.SqlServer.IntegrationServices.Designer.Model.IClipboardService' instead. I am trying to locate Microsoft.SqlServer.IntegrationServices.Designer.Model assembly to no avail. Anybody aware what installs it?
I have got SQL Server 2014 installed with Integration Services, SSDTS for VS2017 installed, up to date VS2017 and build tools version 15.
Any clues are warmly welcomed! Thanks
Miraculously I have found where Microsoft.SqlServer.IntegrationServices.Designer.Model.IClipboardService is!
According to Microsoft https://learn.microsoft.com/en-us/previous-versions/sql/sql-server-2012/ms211237(v%3Dsql.110) - it sits nowhere..
Using ILDASM.EXE from Dev CMD I started opening every assembly related to IntegrationServices and found out that the inteface I am after sits here:
Microsoft.SqlServer.IntegrationServices.Graph.dll

How to configure PDFNet for .NET application to publish to Citrix server? (AnyCPU)

So I have been trying to config the project to make it work on our server via Citrix.
I used this line of code to set the path:
private static pdftron.PDFNetLoader loader = pdftron.PDFNetLoader.Instance().Path(String.Format(#"{0}\{1}",
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetAssembly(typeof(IndexUIZoom)).Location), #"PDFNet"));
I got this error every time (bin is where the .exe file is):
INFO Program [(null)] - Path: [bin]\PDFNet -
ERROR Program [(null)] - System.IO.FileNotFoundException: Could not load file or assembly 'PDFNet.dll' or one of its dependencies.
The specified module could not be found. File name: 'PDFNet.dll'
Everything works fine on local machine. I got the error above whenever I run from Citrix, or log into the server machine and run from there.
Most likely your server is missing the MS VC++ Runtime dependencies. Developer machines usually have them installed as part of a Visual Studio installation, but servers often do not. You can download MS VC++ installers from MSDN.
To find the exact one you need to download please see section 3.2.1 of the Getting Started Guide for PDFNet .Net below. Note you need to also match the runtime 32 or 64 bitness of your process, for both PDFNet.dll and the MS VC++ runtime.
PDFNet .Net 4.0+ Getting Started Guide
PDFNet .Net 2.0-3.5 Getting Started Guide
https://www.pdftron.com/documentation/windows/guides

how to Step through Catel code while debugging ?

After adding Catel implementation to one of my views(mainPage) in my project I have a bug that crashes my Silverlight project. The only indication I have is :" A first chance exception of type 'System.NullReferenceException' occurred in Catel.MVVM " (just about after setting the RootVisual~) - I can't find what I'm doing wrong, and since I am planing on a long-term relationship with Catel I thought that stepping through Catel code might come in handy, so I tried and failed in all the following steps (any help will be appreciated.. because currently I'm stuck and can't find anything):
downloaded catel 3.9 source files (same as my nuget package) and tried building it.. failed with this error :
E:\Dev\Catel-3.9.0\src\Catel.Core\Catel.Core.SL5\Fody.targets(51,5): error MSB4036: The "Fody.WeavingTask" task was not found. Check the following: 1.) The name of the task in the project file is the same as the name of the task class. 2.) The task class is "public" and implements the Microsoft.Build.Framework.ITask interface. 3.) The task is correctly declared with in the project file, or in the *.tasks files located in the "E:\WINDOWS\Microsoft.NET\Framework\v4.0.30319" directory. - trying to search and figure the reasons and overcome this, lead me to nowhere. :(
i have followed this "Stepping through the code" instruction in Catel documentation but noting really happened (I'm using VS2010..is this an issue ?? )
I read this article & readme.md at : https://github.com/GeertvanHorrik/GitHubLink about using GitHubLink to help you stepping through Catel code while debugging. I downloaded the release GitHubLink 1.3.0 from https://github.com/GeertvanHorrik/GitHubLink/releases/tag/1.3.0 ... but running this even with just the githublink.exe -help flag had thrown a exception..
I downloaded the Githublink-master source files but 0 projects were loaded (the GithubLink project file is incompatible with the current version of VS - I'm using VS2010)
can anyone help me either shade some light or:
overcome the build error I receive for catel (no.1)
instruct me how to set & step into catel ?
share the pdb files for Catel libs
It completely depends on the version you are using. If you are using the latest official one (3.9), stepping through the code is only possible by cloning the master branch and building the PDB files yourself.
In the latest prerelease versions via NuGet (the upcoming 4.0 version) you only have to enable the source server checkbox.
Note that you should never have to use GitHubLink yourself, that is for developers only (we run it during the build of Catel).
About the Fody task: it looks like the NuGet packages have not yet been restored on your side. In the lib folder there is a RestorePackages.bat which you can run to restore the packages.
I tried debugging on VS2012 and using Catel 4 pre-release (from Nuget)..
although I believe I did all the right things & settings in VS, I didnt get much further..
So I Opened (using a bin editor) the pdb file that was pulled by Nuget with the DLL, and took a look at the bin file.
the file have strings pointing to the source files at this directory :
C:\ci_ws\WS\1629\source\catel\src\catel/mvvm\catel.mvvm.shared..
So I have created a tree that starts with
c:\ci_ws\ws\1629\source
and downloaded the catel folder to that dir, renamed it from
"Catel-Develop" to just "Catel" in order to feet the location the pdb pointed.
To get things going I also had to add a "Symbol File(.pdb) location" in VS
option-> settings->Debugging->Symbols..(location/server list) to where the nuget download the packages.
in my case.. SolutionFolder\Packages\Catel.MVVM.3.9.0.1406062245-beta\lib\sl50..(I'm using Silverlight)
and then I was able to load the symbols and step/break into the code successfully ..
Maybe I missing something and there is a better way, but this the only way that worked for me..
The only question that still remains for me now is : What is the name of the Catel Github source branch that is matching the pre-release dll and pdb that Nuget is publishing at the moment (3.9.0.1406062245) ?
(I unchecked the general debug settings of : require source files to exactly match the original version)

Resources