Wolfgang
05-06-2016, 02:46 AM
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:
http://stackoverflow.com/questions/31454902/restrict-new-language-features-of-visual-basic-in-visual-studio-2015
http://stackoverflow.com/questions/32122660/how-to-change-the-vb-net-language-version-in-visual-studio-2015
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?
Thanks
Wolfgang
---
Windows 7 Pro, 64 bit
VS 2015 Community Edition
Desktop Project, .Net Framework 4.5
Visual Build 9.2
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:
http://stackoverflow.com/questions/31454902/restrict-new-language-features-of-visual-basic-in-visual-studio-2015
http://stackoverflow.com/questions/32122660/how-to-change-the-vb-net-language-version-in-visual-studio-2015
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?
Thanks
Wolfgang
---
Windows 7 Pro, 64 bit
VS 2015 Community Edition
Desktop Project, .Net Framework 4.5
Visual Build 9.2