Thursday, May 11, 2017

MissingManifestResourceException could not find...

Yesterday a colleague of mine asked me if I could help with an exception he was getting when trying to run a new form he created. The error was: "System.Resources.MissingManifestResourceException: Could not find any resources appropriate for the specified culture or the neutral culture..."


This problem can have many causes, sometimes the resx isn't set as embedded resource.

But in our case the problem was that there was an interface declared as the first piece of code in his form. Apparently the first piece of code in a form file should be the form class and not some other class or code otherwise you get this error. 

So for example the following code in a file FormTemplat1e.vb will trigger the error

Public Interface IFormTemplate1
    Sub Load
    Property Language As LanguageFunctions.LanguageEnum
    Sub Reset
    Sub Refresh
End Interface

Public Class FormTemplate1
Implements IFormTemplate
End Class 

There is also a KB published by Microsoft about this issue, you can have a look at here

Thursday, January 26, 2017

'ping' is not recognized as an internal or external command path variable seems ok

Today I started getting this error when trying to run any command from the command prompt:
'ping' is not recognized as an internal or external command. I immediately went to have a look at my Path Variable but this also seemed to be okay. 


It included the %systemroot%\system32 so I closed these windows and rebooted the pc just to be sure, but I still got the same error. So I opened the Path variable again an now chose to "Edit text" and added an extra ; at the back and the submitted the changes by clicking OK


This extra ; normally isn't needed, because it even get's removed if you close the form, but for me it was enough to fix the problem after closing and opening my command prompt again.  

Thursday, July 28, 2016

White screen of Darn System.Resources.Tools.StronglyTypedResourceBuilder.Create

Today a colleague and me spent a lot of time looking for a solution to a White screen of Darn error in Visual Studio which we started to receive for every form we wanted to open in one specific project in one solution. The error we were getting was:

 Object reference not set to an instance of an object at System.Resources.Tools.StronglyTypedResourceBuilder.Create(IDictionary resourceList, String baseName, String generatedCodeNamespace, String resourcesNamespace, CodeDomProvider codeProvider, Boolean internalClass, String[]& unmatchable)  
 at System.Resources.Tools.StronglyTypedResourceBuilder.Create(IDictionary resourceList, String baseName, String generatedCodeNamespace, CodeDomProvider codeProvider, Boolean internalClass, String[]& unmatchable)  
 at Microsoft.VisualStudio.Design.Serialization.ResXGlobalObject.BuildType()  
 at Microsoft.VisualStudio.Design.Serialization.ResXGlobalObject.GetObjectType()  


After trying all the traditional fixes: reboot, clean and rebuild solution, attach another instance of visual studio to debug your WSOD the error still was persisting. For more information about these possible solutions have a look here,The only thing I feel that is missing from this link is that you can also turn off "Just my code" to view even more errors which are not thrown by your own code.

I then started to dive deeper in the .vbproj file because it was only one specific project which gave the errors. I noticed that there were two linked resx files, which are part of a form, added by another colleague but they weren't correctly added. They where missing the <DepentUpon> element.

<EmbeddedResource Include="..\..\..\Mailing\frmMailLog.fr-FR.resx">  
  <Link>Mailing\frmMailLog.fr-FR.resx</Link>  
</EmbeddedResource>  
<EmbeddedResource Include="..\..\..\Mailing\frmMailLog.resx">  
  <Link>Mailing\frmMailLog.resx</Link>  
</EmbeddedResource>  

After fixing these errors and reloading the project the WSOD error was gone and we could again open every form in design view.

<EmbeddedResource Include="..\..\..\Mailing\frmMailLog.fr-FR.resx">  
  <Link>Mailing\frmMailLog.fr-FR.resx</Link>  
  <DependentUpon>frmMailLog.vb</DependentUpon>  
</EmbeddedResource>  
<EmbeddedResource Include="..\..\..\Mailing\frmMailLog.resx">  
  <Link>Mailing\frmMailLog.resx</Link>  
  <DependentUpon>frmMailLog.vb</DependentUpon>  
</EmbeddedResource>  

Friday, July 8, 2016

Visual Studio 2015 suo file location

Sometimes when running into problems with Visual Studio it's necessary to delete the .suo file of a solution so you can open the solution again without any screens open. In Visual Studio 2015 the location of this file has changed. You can find it at:

\\SolutionRootFolder\.vs\SolutionName\v14\

Thursday, June 23, 2016

Thursday, December 10, 2015

Value was either too large or too small for a UINT32 TFS Check in error

When attempting to check in code through TFS in visual studio 2012 or 2013 sometimes I get the following error message "Value was either too large or too small for a UINT32". 


Most of the time this is solved by doing a "Save All", but sometimes I've noticed that I still get this error after doing a "Save All". If this happens you can solve it but doing a "Close All Documents"


This will most likely bring up another save dialog for some files which presumably didn't get saved by the "Save All". After doing the "Close All Documents" and "Save" (if asked for),  you should be able to check in without a problem.

Friday, October 30, 2015

Windows 10, where is my trusted "Choose your desktop background"

Hi, just a short blog post about a little annoyance I have with Windows 10. After upgrading to Windows 10 my desktop slideshow setting kept functioning as before. But today, for the first time since upgrading, I wanted to add an other image to my selection. This is when I noticed that the old "Choose your desktop background" was no longer available in the Personalization Control Panel Item. After some googling I found that the, for me, easiest solution was executing the following command (Win + R): "control /name Microsoft.Personalization /page pageWallpaper". You can store it as bat file or create a new shortcut on your desktop. The advantage when you create the shortcut is that you get the nice icon for free ;-) After clicking the shortcut you get the old "Choose your desktop background" back.


By the way, this was the background I wanted to add, Sunset on Mars by Mushstone