Visual Studio 2015 Preview Topic is solved
Visual Studio 2015 Preview
Hi,
Has anyone compiled wxWidgets 3.0.2 with VS 2015 Preview?
I tried doing so, as with 2013 (which works fine) but It fails on 2/24 projects.
I get a C1189 #error: Macro definition of snprintf conflicts with Standard Library function declaration (compiling source file ..\..\src\tiff\libtiff\tif_dirinfo.c) wxtiff stdio.h 1867
I tried modifying compiler.h to allow for MSC_VER of 1900 and defined it the same as __VISUALC12__
I also saw a githubt commit where someone defined STDC99 for VS 2015 but to no avail. Anyone have any luck or any ideas?
Thanks
Has anyone compiled wxWidgets 3.0.2 with VS 2015 Preview?
I tried doing so, as with 2013 (which works fine) but It fails on 2/24 projects.
I get a C1189 #error: Macro definition of snprintf conflicts with Standard Library function declaration (compiling source file ..\..\src\tiff\libtiff\tif_dirinfo.c) wxtiff stdio.h 1867
I tried modifying compiler.h to allow for MSC_VER of 1900 and defined it the same as __VISUALC12__
I also saw a githubt commit where someone defined STDC99 for VS 2015 but to no avail. Anyone have any luck or any ideas?
Thanks
- tierra
- Site Admin
- Posts: 1355
- Joined: Sun Aug 29, 2004 7:14 pm
- Location: Salt Lake City, Utah, USA
- Contact:
Re: Visual Studio 2015 Preview
I think there's been some work on this in the development version of wxWidgets (3.1+). Unfortunately SVN is down, but you should give the master branch on GitHub a shot, and see how that goes: https://github.com/wxWidgets/wxWidgets
Re: Visual Studio 2015 Preview
Thanks I'll give it a go and post my results.
-
- In need of some credit
- Posts: 2
- Joined: Wed Jan 07, 2015 11:51 pm
Re: Visual Studio 2015 Preview
I got the code from the GIT and had the same problem. Did someone managed to get it to work?
Thanks
Thanks
Re: Visual Studio 2015 Preview
I couldn't get it to workRafaelTorchelsen wrote:I got the code from the GIT and had the same problem. Did someone managed to get it to work?
Thanks
Re: Visual Studio 2015 Preview
There are 3 changes you need to make:
1) <wxdir>\src\zlib\gzguts.h - line 102
change:
to:
2) <wxdir>\src\tiff\libtiff\tif_config.h - line 367
change:
to:
3) <wxdir>\include\wx\propgrid\advprops.h - line 453
change:
to:
Line numbers based on wxWidgets 3.0.2 (not latest development version).
1) <wxdir>\src\zlib\gzguts.h - line 102
change:
Code: Select all
#ifdef _MSC_VER
# define snprintf _snprintf
#endif
Code: Select all
#if (defined(_MSC_VER) && (_MSC_VER < 1900))
#define snprintf _snprintf
#endif
2) <wxdir>\src\tiff\libtiff\tif_config.h - line 367
change:
Code: Select all
#define snprintf _snprintf
Code: Select all
#if (defined(_MSC_VER) && (_MSC_VER < 1900))
#define snprintf _snprintf
#endif
change:
Code: Select all
wxDateTime GetDateValue() const
{
//return m_valueDateTime;
return m_value;
}
Code: Select all
wxDateTime GetDateValue() const
{
//return m_valueDateTime;
return m_value.GetDateTime();
}
Use the source, Luke!
-
- In need of some credit
- Posts: 2
- Joined: Wed Jan 07, 2015 11:51 pm
Re: Visual Studio 2015 Preview
Thanks! It's working.
Re: Visual Studio 2015 Preview
Excellent thanks!
Re: Visual Studio 2015 Preview
Thank you for this. I am building the static libraries with the Visual Studio 2015 Release Candidate.
There are 2 more minor changes to stop warnings:
1. <wxdir>\include\wx\compiler.h - line 56
Add another 2 lines:
to
2. <wxdir>\include\msvc\wx\setup.h - line 64
Add another 2 lines:
to
Unfortunately, there are a fairly large number of C4456, C4457 & C4458 warnings due to VS2015 improving the warnings they give.
For exmple:
In addition, there are the warnings that GetVersionExW': was declared deprecated in two module:
Plus
Thanks for the original reply - at least I could build wxWidgets. I am not sure how important the new warnings are.
Visual Studio 2015 Community Edition Release Candidate on Windows 7 Pro 64-bit.
There are 2 more minor changes to stop warnings:
1. <wxdir>\include\wx\compiler.h - line 56
Add another 2 lines:
Code: Select all
#elif __VISUALC__ < 1900
# define __VISUALC12__
#else
Code: Select all
#elif __VISUALC__ < 1900
# define __VISUALC12__
#elif __VISUALC__ < 2000
# define __VISUALC14__
#else
Add another 2 lines:
Code: Select all
#elif _MSC_VER == 1800
#define wxCOMPILER_PREFIX vc120
Code: Select all
#elif _MSC_VER == 1800
#define wxCOMPILER_PREFIX vc120
#elif _MSC_VER == 1900
#define wxCOMPILER_PREFIX vc140
For exmple:
Code: Select all
<wxdir>\include\wx/app.h(544): warning C4458: declaration of 'argc' hides class member
<wxdir>\include\wx/app.h(444): note: see declaration of 'wxAppConsoleBase::argc'
<wxdir>\include\wx/app.h(544): warning C4458: declaration of 'argv' hides class member
<wxdir>\include\wx/app.h(451): note: see declaration of 'wxAppConsoleBase::argv'
<wxdir>\include\wx/msw/app.h(32): warning C4458: declaration of 'argc' hides class member
<wxdir>\include\wx/app.h(444): note: see declaration of 'wxAppConsoleBase::argc'
<wxdir>\include\wx/msw/app.h(32): warning C4458: declaration of 'argv' hides class member
<wxdir>\include\wx/app.h(451): note: see declaration of 'wxAppConsoleBase::argv'
<wxdir>\src\msw\app.cpp(633): warning C4458: declaration of 'argc' hides class member
<wxdir>\include\wx/app.h(444): note: see declaration of 'wxAppConsoleBase::argc'
<wxdir>\src\msw\app.cpp(633): warning C4458: declaration of 'argv' hides class member
<wxdir>\include\wx/app.h(451): note: see declaration of 'wxAppConsoleBase::argv'
<wxdir>\src\msw\bitmap.cpp(576): warning C4457: declaration of 'bits' hides function parameter
<wxdir>\src\msw\bitmap.cpp(546): note: see declaration of 'bits'
<wxdir> \src\common\fswatchercmn.cpp(146): warning C4456: declaration of 'watch' hides previous local declaration
<wxdir>\src\common\fswatchercmn.cpp(131): note: see declaration of 'watch'
<wxdir>\src\msw\ole\activex.cpp(1010): warning C4456: declaration of 'ta' hides previous local declaration
<wxdir>\src\msw\ole\activex.cpp(962): note: see declaration of 'ta'
<wxdir>\src\msw\ole\activex.cpp(1026): warning C4456: declaration of 'hret' hides previous local declaration
<wxdir>\src\msw\ole\activex.cpp(929): note: see declaration of 'hret'
<wxdir>\src\msw\graphics.cpp(1757): warning C4457: declaration of 'y' hides function parameter
<wxdir>\src\msw\graphics.cpp(1723): note: see declaration of 'y'
<wxdir>\src\msw\graphics.cpp(1759): warning C4457: declaration of 'x' hides function parameter
<wxdir>\src\msw\graphics.cpp(1723): note: see declaration of 'x'
<wxdir>\src\msw\printwin.cpp(359): warning C4456: declaration of 'dc' hides previous local declaration
<wxdir>\src\msw\printwin.cpp(339): note: see declaration of 'dc'
<wxdir>\src\msw\window.cpp(2772): warning C4456: declaration of 'rc' hides previous local declaration
<wxdir>\src\msw\window.cpp(2733): note: see declaration of 'rc'
<wxdir>\src\msw\window.cpp(2802): warning C4456: declaration of 'rc' hides previous local declaration
<wxdir>\src\msw\window.cpp(2733): note: see declaration of 'rc'
<wxdir>\src\msw\artmsw.cpp(200): warning C4456: declaration of 'bitmap' hides previous local declaration
<wxdir>\src\msw\artmsw.cpp(176): note: see declaration of 'bitmap'
<wxdir>\src\msw\filedlg.cpp(667): warning C4456: declaration of 'i' hides previous local declaration
<wxdir>\src\msw\filedlg.cpp(584): note: see declaration of 'i'
<wxdir>\src\msw\filedlg.cpp(729): warning C4456: declaration of 'dir' hides previous local declaration
<wxdir>\src\msw\filedlg.cpp(583): note: see declaration of 'dir'
<wxdir>\src\msw\filedlg.cpp(749): warning C4456: declaration of 'i' hides previous local declaration
<wxdir>\src\msw\filedlg.cpp(584): note: see declaration of 'i'
<wxdir>\src\msw\menuitem.cpp(996): warning C4456: declaration of 'flags' hides previous local declaration
<wxdir>\src\msw\menuitem.cpp(972): note: see declaration of 'flags'
<wxdir>\src\msw\menuitem.cpp(1002): warning C4456: declaration of 'x' hides previous local declaration
<wxdir>\src\msw\menuitem.cpp(981): note: see declaration of 'x'
<wxdir>\src\msw\menuitem.cpp(1012): warning C4456: declaration of 'y' hides previous local declaration
<wxdir>\src\msw\menuitem.cpp(982): note: see declaration of 'y'
<wxdir>\src\msw\notebook.cpp(1319): warning C4456: declaration of 'themeColor' hides previous local declaration
<wxdir>\src\msw\notebook.cpp(1277): note: see declaration of 'themeColor'
<wxdir>\src\msw\spinbutt.cpp(82): warning C4457: declaration of 'size' hides function parameter
<wxdir>\src\msw\spinbutt.cpp(61): note: see declaration of 'size'
<wxdir>\src\msw\spinctrl.cpp(199): warning C4457: declaration of 'event' hides function parameter
<wxdir>\src\msw\spinctrl.cpp(193): note: see declaration of 'event'
<wxdir>\src\msw\statbox.cpp(482): warning C4456: declaration of 'impl' hides previous local declaration
<wxdir>\src\msw\statbox.cpp(406): note: see declaration of 'impl'
<wxdir>\src\msw\toolbar.cpp(824): warning C4456: declaration of 'x' hides previous local declaration
<wxdir>\src\msw\toolbar.cpp(763): note: see declaration of 'x'
<wxdir>\src\msw\toolbar.cpp(910): warning C4456: declaration of 'addBitmap' hides previous local declaration
<wxdir>\src\msw\toolbar.cpp(872): note: see declaration of 'addBitmap'
<wxdir>\src\msw\toolbar.cpp(1036): warning C4456: declaration of 'tool' hides previous local declaration
<wxdir>\src\msw\toolbar.cpp(951): note: see declaration of 'tool'
<wxdir>\src\msw\textctrl.cpp(1992): warning C4457: declaration of 'event' hides function parameter
<wxdir>\src\msw\textctrl.cpp(1986): note: see declaration of 'event'
<wxdir>\src\msw\treectrl.cpp(1529): warning C4456: declaration of 'param' hides previous local declaration
<wxdir>\src\msw\treectrl.cpp(1498): note: see declaration of 'param'
<wxdir>\src\common\dcgraph.cpp(667): warning C4456: declaration of 'path' hides previous local declaration
<wxdir>\src\common\dcgraph.cpp(649): note: see declaration of 'path'
<wxdir>\src\generic\datavgen.cpp(4116): warning C4457: declaration of 'event' hides function parameter
<wxdir>\src\generic\datavgen.cpp(4026): note: see declaration of 'event'
<wxdir>\src\richtext\richtextbuffer.cpp(2124): warning C4456: declaration of 'child' hides previous local declaration
<wxdir>\src\richtext\richtextbuffer.cpp(2083): note: see declaration of 'child'
<wxdir>\src\richtext\richtextbuffer.cpp(2246): warning C4456: declaration of 'node' hides previous local declaration
<wxdir>\src\richtext\richtextbuffer.cpp(2019): note: see declaration of 'node'
<wxdir>\src\richtext\richtextbuffer.cpp(2752): warning C4456: declaration of 'para' hides previous local declaration
<wxdir>\src\richtext\richtextbuffer.cpp(2643): note: see declaration of 'para'
<wxdir>\src\richtext\richtextbuffer.cpp(2807): warning C4456: declaration of 'para' hides previous local declaration
<wxdir>\src\richtext\richtextbuffer.cpp(2643): note: see declaration of 'para'
<wxdir>\src\richtext\richtextbuffer.cpp(2883): warning C4456: declaration of 'end' hides previous local declaration
<wxdir>\src\richtext\richtextbuffer.cpp(2855): note: see declaration of 'end'
<wxdir>\src\richtext\richtextbuffer.cpp(4188): warning C4457: declaration of 'def' hides function parameter
<wxdir>\src\richtext\richtextbuffer.cpp(4084): note: see declaration of 'def'
<wxdir>\src\richtext\richtextbuffer.cpp(5394): warning C4456: declaration of 'node' hides previous local declaration
<wxdir>\src\richtext\richtextbuffer.cpp(5361): note: see declaration of 'node'
<wxdir>\src\richtext\richtextbuffer.cpp(6918): warning C4457: declaration of 'size' hides function parameter
<wxdir>\src\richtext\richtextbuffer.cpp(6891): note: see declaration of 'size'
<wxdir>\src\richtext\richtextbuffer.cpp(6923): warning C4457: declaration of 'size' hides function parameter
<wxdir>\src\richtext\richtextbuffer.cpp(6891): note: see declaration of 'size'
<wxdir>\src\richtext\richtextbuffer.cpp(10082): warning C4456: declaration of 'converter' hides previous local declaration
<wxdir>\src\richtext\richtextbuffer.cpp(9896): note: see declaration of 'converter'
<wxdir>\src\richtext\richtextbuffer.cpp(10184): warning C4456: declaration of 'converter' hides previous local declaration
<wxdir>\src\richtext\richtextbuffer.cpp(9896): note: see declaration of 'converter'
<wxdir>\src\richtext\richtextbuffer.cpp(10431): warning C4456: declaration of 'converter' hides previous local declaration
<wxdir>\src\richtext\richtextbuffer.cpp(9896): note: see declaration of 'converter'
<wxdir>\src\richtext\richtextbuffer.cpp(11598): warning C4456: declaration of 'obj' hides previous local declaration
<wxdir>\src\richtext\richtextbuffer.cpp(11574): note: see declaration of 'obj'
<wxdir>\src\richtext\richtextctrl.cpp(687): warning C4456: declaration of 'position' hides previous local declaration
<wxdir>\src\richtext\richtextctrl.cpp(672): note: see declaration of 'position'
<wxdir>\src\richtext\richtextctrl.cpp(688): warning C4456: declaration of 'hitObj' hides previous local declaration
<wxdir>\src\richtext\richtextctrl.cpp(674): note: see declaration of 'hitObj'
<wxdir>\src\richtext\richtextctrl.cpp(689): warning C4456: declaration of 'contextObj' hides previous local declaration
<wxdir>\src\richtext\richtextctrl.cpp(675): note: see declaration of 'contextObj'
<wxdir>\src\richtext\richtextctrl.cpp(690): warning C4456: declaration of 'hit' hides previous local declaration
<wxdir>\src\richtext\richtextctrl.cpp(678): note: see declaration of 'hit'
<wxdir>\src\richtext\richtextctrl.cpp(5080): warning C4456: declaration of 'item' hides previous local declaration
<wxdir>\src\richtext\richtextctrl.cpp(5053): note: see declaration of 'item'
<wxdir>\src\richtext\richtextformatdlg.cpp(318): warning C4457: declaration of 'page' hides function parameter
<wxdir>\src\richtext\richtextformatdlg.cpp(314): note: see declaration of 'page'
<wxdir>\src\richtext\richtextformatdlg.cpp(324): warning C4457: declaration of 'page' hides function parameter
<wxdir>\src\richtext\richtextformatdlg.cpp(314): note: see declaration of 'page'
<wxdir>\src\richtext\richtextformatdlg.cpp(330): warning C4457: declaration of 'page' hides function parameter
<wxdir>\src\richtext\richtextformatdlg.cpp(314): note: see declaration of 'page'
<wxdir>\src\richtext\richtextformatdlg.cpp(336): warning C4457: declaration of 'page' hides function parameter
<wxdir>\src\richtext\richtextformatdlg.cpp(314): note: see declaration of 'page'
<wxdir>\src\richtext\richtextformatdlg.cpp(342): warning C4457: declaration of 'page' hides function parameter
<wxdir>\src\richtext\richtextformatdlg.cpp(314): note: see declaration of 'page'
<wxdir>\src\richtext\richtextformatdlg.cpp(349): warning C4457: declaration of 'page' hides function parameter
<wxdir>\src\richtext\richtextformatdlg.cpp(314): note: see declaration of 'page'
<wxdir>\src\richtext\richtextformatdlg.cpp(356): warning C4457: declaration of 'page' hides function parameter
<wxdir>\src\richtext\richtextformatdlg.cpp(314): note: see declaration of 'page'
<wxdir>\src\richtext\richtextformatdlg.cpp(362): warning C4457: declaration of 'page' hides function parameter
<wxdir>\src\richtext\richtextformatdlg.cpp(314): note: see declaration of 'page'
<wxdir>\src\richtext\richtextformatdlg.cpp(368): warning C4457: declaration of 'page' hides function parameter
<wxdir>\src\richtext\richtextformatdlg.cpp(314): note: see declaration of 'page'
<wxdir>\src\richtext\richtextformatdlg.cpp(374): warning C4457: declaration of 'page' hides function parameter
<wxdir>\src\richtext\richtextformatdlg.cpp(314): note: see declaration of 'page'
<wxdir>\src\richtext\richtextformatdlg.cpp(517): warning C4456: declaration of 'size' hides previous local declaration
<wxdir>\src\richtext\richtextformatdlg.cpp(512): note: see declaration of 'size'
<wxdir>\src\richtext\richtextformatdlg.cpp(773): warning C4457: declaration of 'event' hides function parameter
<wxdir>\src\richtext\richtextformatdlg.cpp(746): note: see declaration of 'event'
<wxdir>\src\richtext\richtextstyles.cpp(99): warning C4456: declaration of 'def' hides previous local declaration
<wxdir>\src\richtext\richtextstyles.cpp(71): note: see declaration of 'def'
<wxdir>\src\richtext\richtextstyles.cpp(330): warning C4457: declaration of 'def' hides function parameter
<wxdir>\src\richtext\richtextstyles.cpp(325): note: see declaration of 'def'
<wxdir>\src\richtext\richtextxml.cpp(444): warning C4456: declaration of 'text' hides previous local declaration
<wxdir>\src\richtext\richtextxml.cpp(428): note: see declaration of 'text'
<wxdir>\src\richtext\richtextxml.cpp(2373): warning C4456: declaration of 'style' hides previous local declaration
<wxdir>\src\richtext\richtextxml.cpp(2359): note: see declaration of 'style'
<wxdir>\src\stc\scintilla\src\ContractionState.h(50): warning C4458: declaration of 'visible' hides class member
<wxdir>\src\stc\scintilla\src\ContractionState.h(19): note: see declaration of 'ContractionState::visible'
<wxdir>\src\stc\scintilla\src\ContractionState.h(54): warning C4458: declaration of 'expanded' hides class member
<wxdir>\src\stc\scintilla\src\ContractionState.h(20): note: see declaration of 'ContractionState::expanded'
<wxdir>\src\stc\scintilla\src\Document.h(367): warning C4458: declaration of 'charClass' hides class member
<wxdir>\src\stc\scintilla\src\Document.h(214): note: see declaration of 'Document::charClass'
<wxdir>\src\stc\scintilla\src\PositionCache.h(110): warning C4458: declaration of 'clock' hides class member
<wxdir>\src\stc\scintilla\src\PositionCache.h(105): note: see declaration of 'PositionCacheEntry::clock'
<wxdir>\src\stc\scintilla\src\Editor.h(329): warning C4458: declaration of 'sel' hides class member
<wxdir>\src\stc\scintilla\src\Editor.h(235): note: see declaration of 'Editor::sel'
<wxdir>\src\stc\scintilla\src\Editor.h(330): warning C4458: declaration of 'sel' hides class member
<wxdir>\src\stc\scintilla\src\Editor.h(235): note: see declaration of 'Editor::sel'
<wxdir>\src\stc\scintilla\src\Editor.h(456): warning C4458: declaration of 'sel' hides class member
<wxdir>\src\stc\scintilla\src\Editor.h(235): note: see declaration of 'Editor::sel'
<wxdir>\src\stc\scintilla\src\Editor.h(464): warning C4458: declaration of 'sel' hides class member
<wxdir>\src\stc\scintilla\src\Editor.h(235): note: see declaration of 'Editor::sel'
<wxdir>\src\stc\scintilla\src\Editor.h(465): warning C4458: declaration of 'sel' hides class member
<wxdir>\src\stc\scintilla\src\Editor.h(235): note: see declaration of 'Editor::sel'
<wxdir>\src\stc\scintilla\src\Editor.h(539): warning C4458: declaration of 'hsStart' hides class member
<wxdir>\src\stc\scintilla\src\Editor.h(255): note: see declaration of 'Editor::hsStart'
<wxdir>\src\stc\scintilla\src\Editor.h(539): warning C4458: declaration of 'hsEnd' hides class member
<wxdir>\src\stc\scintilla\src\Editor.h(256): note: see declaration of 'Editor::hsEnd'
Code: Select all
<wxdir>\src\common\strconv.cpp(2830): warning C4996: 'GetVersionExW': was declared deprecated
<wxdir>\src\msw\app.cpp(271): warning C4996: 'GetVersionExW': was declared deprecated
Code: Select all
<wxdir>\src\common\cmdproc.cpp(336): warning C4800: 'wxObjectList::Node': forcing value to bool 'true' or 'false' (performance warning)
Visual Studio 2015 Community Edition Release Candidate on Windows 7 Pro 64-bit.
Re: Visual Studio 2015 Preview
I too rebuilt with VS2015 RC community and interestingly, how VS2015 preview required 3 files to be modified, tif_config, gz_guts and adv_props. Community only requires tif_config. I think there was a ticket that stated microsoft are reverting the snprintf change either in RTM or RC as it casued too many problems.
Did u need all 3 original mods?
Did u need all 3 original mods?
Re: Visual Studio 2015 Preview
I must admit that when I first got the error and saw this thread, I did all three original changes. I did assume that I needed all three.
My additional comments related to warnings only.
I was building the static libraries only (32 & 64 bit).
I will probably try again with only the one change as you noted.
My additional comments related to warnings only.
I was building the static libraries only (32 & 64 bit).
I will probably try again with only the one change as you noted.
Re: Visual Studio 2015 Preview
I have just confirmed what you have said that, with VS2015 RC, the changes to gz_guts and adv_props are no longer needed.
-
- In need of some credit
- Posts: 2
- Joined: Mon Jun 01, 2015 10:20 pm
Re: Visual Studio 2015 Preview
I just installed a copy of Visual Studo RC 2015, and pulled a git copy of wxWidgets.
I opened build\msw\wx_vc12.sln in Visual Studio. It converts the solution.
I set for an x64 debug build.
Then I attempt to build the _custom_build project.
I get the following:
It can't find a file. The file it is looking for is:
include\wx\msw\setup.h
It is a 'special' created file which is going to be put into the lib directory. But it doesn't exist, or isn't created somehow.
Because this is .git, is there some thing that hasn't been built or supplied?
I opened build\msw\wx_vc12.sln in Visual Studio. It converts the solution.
I set for an x64 debug build.
Then I attempt to build the _custom_build project.
I get the following:
Code: Select all
All packages are already installed and there is nothing to restore.
NuGet package restore finished.
1>------ Build started: Project: _custom_build, Configuration: Debug x64 ------
1> Creating ..\..\lib\vc_x64_lib\mswud\wx\setup.h
1> The system cannot find the file specified.
1> Creating ..\..\lib\vc_x64_lib\mswud\wx\msw\rcdefs.h
1> genrcdefs.h
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
include\wx\msw\setup.h
It is a 'special' created file which is going to be put into the lib directory. But it doesn't exist, or isn't created somehow.
Because this is .git, is there some thing that hasn't been built or supplied?
Re: Visual Studio 2015 Preview
There will be a "setup0.h" in <wxdir>\include\wx\msw\
Copy it to "setup.h".
The reason for this is that many developers make personal adjustments to this file and by renaming it, it won't get overwritten.
Copy it to "setup.h".
The reason for this is that many developers make personal adjustments to this file and by renaming it, it won't get overwritten.
Use the source, Luke!
-
- In need of some credit
- Posts: 2
- Joined: Mon Jun 01, 2015 10:20 pm
Re: Visual Studio 2015 Preview
Thank you. That was the magic sauce.