View Single Post
Old 05-06-2016, 03:46 AM
Wolfgang Wolfgang is offline
Registered User
Join Date: 12-02-2014
Posts: 4
Visual Build seems to pick up the wrong Visual Basic compiler

Hello Forum,

just moved to a new machine and a new version of Visual Studio (from 2013 to 2015) and upgraded from Visual Build 8 to Visual Build 9.2.
Still running on Windows 7 Pro 64 bit.

Having moved to a new version of VB.Net, I would like to use some of the nice new features, like the null propagation operator.
Building in VS 2015 works fine.
The code works, I can debug, etc...

But when I build using Visual Build I get errors, like:
error BC36637: The '?' character cannot be used here.

The project is a desktop project (WPF library) targeting the .Net framework 4.5.

I've searched a bit and found these two discussions:

Therefore I added <LangVersion>14</LangVersion> to the vbproj file.
But that generates a different error when building from Visual Build:
vbc : Command line error BC2014: the value '14' is invalid for option 'langversion'

When I set <LangVersion>11.0</LangVersion>, Visual Studio also shows
error BC36637: The '?' character cannot be used here
=> the <LangVersion> property works correctly.

I noticed that Visual Build calls...
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Vb c.exe

While the VS2015/VB.Net14 compiler is seemingly stored in:
c:\Program Files (x86)\MSBuild\14.0\Bin\Vbc.exe

So it looks to me as if Visual Build picks up the wrong VB compiler for building VS 2015 projects.

Any ideas how to work around this?



Windows 7 Pro, 64 bit
VS 2015 Community Edition
Desktop Project, .Net Framework 4.5
Visual Build 9.2
Reply With Quote