The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,839 other subscribers

Archive for the ‘.NET’ Category

C#, XSD.exe, xsd2code and generating nullable fields+properties from an XSD with and without Specified fields/properties

Posted by jpluimers on 2016/07/27

It comes down to these cases for XML elements having maxOccurs="1" (which the default for maxOccurs):

  1. adding nillable="true" will convert from a regular type to a nullable type.
  2. adding minOccurs="0" will add boolean …Specified properties in the generated C# for each element.
  3. you can have both nillable="true" and minOccurs="0" in an element which gets you a nullable type and a …Specified property.

Note I’m not considering fixed or default here, nor attributes (that have use instead of minOccurs/maxOccurs, but do not allow for nillable) nor larger values of maxOccurs (which both xsd.exe and xsd2code regard as unbounded).

From the above, XML has a richer type system than C#, so in XML there are subtle a differences between:

  1. an explicit nil in the XML element
  2. the XML element being absent
  3. the XML element being empty.

Hopefully later more text and examples to show how to actually work with this.

Delphi related to minOccurs:

Note that xsd2code.codeplex.com (unlike XmlGen#) has at least two forks at github:

From the specs:

–jeroen

Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Conference Topics, Conferences, Development, Event, Software Development, XML, XML/XSD, XSD | Leave a Comment »

A New Parser Generator for C# – CodeProject

Posted by jpluimers on 2016/07/19

A while ago I bumped into this interesting bit: LLLPG (Loyc LL(k) Parser Generator) is a new recursive-decent parser generator for C#, with a feature set better than ANTLR version 2.

–jeroen

via:

Posted in .NET, C#, Development, Software Development | Leave a Comment »

Easy way to generate “System.InvalidOperationException: Nullable object must have a value.”

Posted by jpluimers on 2016/07/07

Easy way to generate “System.InvalidOperationException: Nullable object must have a value.”.


using System;
public class Test
{
public static void Main()
{
int? nullableInt = null;
int nowInt = (int)nullableInt;
}
}

–jeroen

Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Development, Software Development | Leave a Comment »

csc.exe: prevent “does not contain a static ‘Main’ method suitable for an entry point”, use /target:library

Posted by jpluimers on 2016/06/29

Every once in a while I do Command-line Building With csc.exe.

When building libraries, it throws this error:

The reason is that by default it wants to build a program.

Change this default by adding the /target:library parameter.

–jeroen

via: c# – Program does not contain a static ‘Main’ method suitable for an entry point – Stack Overflow.

Posted in .NET, .NET 1.x, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, Development, Software Development, Visual Studio 11, Visual Studio 2002, Visual Studio 2003, Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual Studio 2012, Visual Studio 2013, Visual Studio 2014, Visual Studio 2015, Visual Studio and tools | Leave a Comment »

Batch file to run the most recent vsvars32.bat

Posted by jpluimers on 2016/06/28

The below batch file finds and runs the latest vsvars32.bat on a system.

vsvars32.bat initializes the path and other environment variables to run Visual Studio and command-line tools (like csc.exe, xsd.exe, editbin.exe).

The batch file employs a few tricks from:

  :: Run the most recent vsvars32.bat

  :: test these environment variables that have 110 or 120 in them (future enhancements: support more Visual Studio versions):
  :: Visual Studio .NET 2002: VS70COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio .NET\Common7\Tools\
  :: Visual Studio .NET 2003: VS71COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Common7\Tools\
  :: Visual Studio 2005: VS80COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\
  :: Visual Studio 2008: VS90COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\
  :: Visual Studio 2010: VS100COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\
  :: Visual Studio 2012: VS110COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\
  :: Visual Studio 2013: VS120COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\
  :: VS130COMNTOOLS was skipped: http://www.neowin.net/forum/topic/1215607-visual-studio-13-to-be-skipped-vnext-to-be-v14/
  :: Visual Studio 2015: VS130COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\
  :: They contain `vsvars32.bat` which will update the `PATH` so it includes where `xsd.exe`, `csc.exe`, `editbin.exe` and others reside
  :: Different examples: https://github.com/noop-dev/c-cgdk/blob/master/compile-vscpp.bat
  :: and https://code.google.com/p/xvid4psp/source/browse/trunk/bin/4Gb+patcher.bat
  :: or give it a go for any version: http://chess.eecs.berkeley.edu/ptexternal/src/ptII/ptolemy/actor/lib/fmi/fmus/template/sources/build_fmu.bat
  setlocal enabledelayedexpansion
  :: delayed expansion allows for the exclamation marks
  :: see http://ss64.com/nt/delayedexpansion.html
  :: see http://stackoverflow.com/questions/22857407/windows-batch-how-to-assign-variable-with-dynamic-name
  for %%v in (70 71 80 90 100 110 120 130) do if not [!VS%%vCOMNTOOLS!]==[] set VSCOMNTOOLS=!VS%%vCOMNTOOLS!
  :: http://stackoverflow.com/questions/28682268/assign-variables-past-endlocal-in-a-loop
  endlocal & call :do call "%VSCOMNTOOLS%vsvars32.bat"
  goto :eof

:do
  echo %*
  %*
  goto :eof

–jeroen

via: Finding the path of xsd.exe from your Visual Studio Build Events « The Wiert Corner – irregular stream of stuff.

Posted in .NET, .NET 1.x, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, Development, Software Development, Visual Studio 11, Visual Studio 2002, Visual Studio 2003, Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual Studio 2012, Visual Studio 2013, Visual Studio 2014, Visual Studio 2015, Visual Studio and tools | Leave a Comment »

Some notes on tfpt.exe from Microsoft Visual Studio Team Foundation Server (2010/2013/2015) Power Tools extension

Posted by jpluimers on 2016/06/23

Some links.

First tfpt:

Old name: Microsoft Team Foundation Server 2010 Power Tools.

Then witAdmin:

With API:

 

–jeroen

via: Microsoft Visual Studio Team Foundation Server 2013 Power Tools extension.

Links to past posts about tfpt:

Posted in .NET, Development, Power User, PowerToys, Software Development, Source Code Management, TFS (Team Foundation System), Visual Studio and tools, Windows | Leave a Comment »

Writing tests for http / https request: Postman, SoapUI, Advanced REST client.

Posted by jpluimers on 2016/06/21

I’m using these Chrome Extensions for most of the http / https call mockups, and after that put them in SoapUI (which despite the name also does REST and has come a long way sinceSource: SoupUI – as sometimes that is the only thing that works):

You can get both Postman versions through GetPostman.com as well.

–jeroen

Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, ASP.NET, C#, C# 3.0, C# 4.0, C# 5.0, Chrome, Communications Development, Development, Google, HTTP, Internet protocol suite, Power User, REST, Software Development, TCP | 1 Comment »

On Windows 7, Visual Studio 2015 wanted Internet Explorer 10… here are the direct links to download it

Posted by jpluimers on 2016/06/20

Boy, don’t you dislike how hard it is to find direct download links

Well, thanks to kenorb and jjlin (slightly edited):

Check: IE6, IE7, IE8, IE9, IE10, IE11 Offline Installers Download Links – kenorb Mar 20 ’15 at 13:39 – http://www.itechtics.com/download-internet-explorer-all-versions/ – note this does not provide hashes.

jjlin:

Try these Microsoft offline installer links:

These may refuse to work if you already have IE 11 installed, though. If it is refused, try this: http://stackoverflow.com/questions/20043971/how-to-downgrade-from-internet-explorer-11-to-internet-explorer-10

And in case these links ever stop working and you must obtain a copy from a non-Microsoft source, here are the SHA-512 hashes for posterity:

  • 32-bit: d89ba3f9978be428ac05b182481198ab0f7b0c0651e4716e63cd0cf907d739cbc30f44ec9c444da683869473a548cd99e5c396467b2898f7c382b6345b3e70d2
  • 64-bit: f1752bb6517fe15071e5f7a4fee4b8680da1bdad1df7054ab22bab78fe0f46aee177787f60ea2cfc86a2db2b08429e2cba3cfdd20ba6a2ab69e091c7784dfdae

Source: internet explorer 10 – Does Microsoft still have a link to download IE10 for Windows 7? – Super User

–jeroen

Posted in .NET, Development, Internet Explorer, Power User, Software Development, Visual Studio 2015, Visual Studio and tools, Web Browsers, Windows, Windows 7 | Leave a Comment »

When a fresh install of Bonobo Git Server on Windows 7 IIS 7 gives you a “HTTP Error 404.0 – Not Found”

Posted by jpluimers on 2016/06/16

HTTP Error 404.0 - Not Found

HTTP Error 404.0 – Not Found

Had this on a fresh Bonobo Git Server on a relatively fresh Windows 7 installation:

HTTP Error 404.0 – Not Found

At first I thought it was missing ASP because of the “StaticFile” in the error information, so I enabled it:

ASP is not enabled by default

ASP is not enabled by default

Enable ASP

Enable ASP

That didn’t help, so I searched for “MapRequestHandler” “HTTP Error 404.0 – Not Found” and found:

  1. HTTP Error 404.0 – Not Found (MapRequestHandler / StaticFile) when deploying WCF Web API on IIS 7.x | Alexander Zeitler
  2. aspnet_regiis.exe -i is still a solution : Fixing HTTP Error 404.0 – Not Found (MapRequestHandler / StaticFile) when deploying an application in IIS 7.x | Michael Hidalgo

Though ASP.NET was clearly enabled according to the Windows features, this was apparently for an old ASP.NET version so I manually re-registered ASP.NET (but now for Version 4: I had 4.6.1 installed):

C:\Windows\System32>%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir
Microsoft (R) ASP.NET RegIIS version 4.0.30319.0
Administration utility to install and uninstall ASP.NET on the local machine.
Copyright (C) Microsoft Corporation. All rights reserved.
Start installing ASP.NET (4.0.30319.0) without changing existing web applications to use this version of ASP.Net.
.....
Finished installing ASP.NET (4.0.30319.0) without changing existing web applications to use this version of ASP.Net.

Windows 7 is .NET 2.0 all over the place…

Then it still didn’t work, but the second tip above also mentioned the application pool. And since Bonobo insists installing in wwwwroot, it’s using the default application which on Windows 7 – surprise! – is ASP.NET 2.0:

Default Windows 7 application pool for wwwroot uses ASP.NET 2.0

Default Windows 7 application pool for wwwroot uses ASP.NET 2.0

ASP.NET 4.0 needs to be the default.

ASP.NET 4.0 needs to be the default.

Changing that to ASP.NET 4.0 made it all work.

Read the prerequisites

Too bad that ASP.NET registration part is only prominently visible in the readme.md on github, but not in the installation instructions of the web-site with a tiny link (overwhelmed by the screenshots) to prerequisites.

Same for the default credentials:

  • username admin
  • password admin

–jeroen

 

Posted in .NET, ASP.NET, Development, DVCS - Distributed Version Control, git, Software Development, Source Code Management | Leave a Comment »

How to overcome “Stuck while installing Visual Studio 2015 (Update for Microsoft Windows (KB2999226))” via – Stack Overflow

Posted by jpluimers on 2016/06/15

Visual Studio 2015 install stuck on

Visual Studio 2015 install stuck on “acquiring” KB2999226

I had exactly the same when installing Visual Studio 2015 on a Windows 7 x64 system: stuck on “Acquiring” the “Update for Microsoft Windows (KB2999226)”.

So as mentioned in the StackOverflow answers for the below question, I manually downloaded “Update for Windows 7 for x64-based Systems (KB2999226)” which you can get directly at https://download.microsoft.com/download/1/1/5/11565A9A-EA09-4F0A-A57E-520D5D138140/Windows6.1-KB2999226-x64.msu.

Be sure to quit both the Visual Studio 2015 installation as well as any (“automagically interfering” background Windows Updates), as otherwise you get this error:

--------------------------- Windows Update Standalone Installer --------------------------- Only one instance of wusa.exe is allowed to run. --------------------------- OK ---------------------------

---------------------------
Windows Update Standalone Installer
---------------------------
Only one instance of wusa.exe is allowed to run.
---------------------------
OK
---------------------------

If you still get that error, then

  • try to stop/start the wuauserv service: usually it gets rid of the error.
  • When it still occurs, try a clean boot, then re-apply the KB.

Applying the KB can take a long while, even on fast hardware.

–jeroen

Source: Stuck while installing Visual Studio 2015 (Update for Microsoft Windows (KB2999226)) – Stack Overflow

Posted in .NET, Development, Software Development, Visual Studio 2015, Visual Studio and tools | Leave a Comment »