VS 2012 Bug? - Driver Package Project does not always use Output Directory -
in process of moving driver project wdk8 , visual studio 2012, came across minor issue regarding driver package output directory configuration. fortunately, easy reproduce using standard project templates , these steps:
- open vs 2012 , choose new project start page
- in "new project" dialog, choose installed | templates | visualc++ | windows driver | networking | filter driver: ndis. change location c:\projects, select "createdirectory solution", , click ok.
- in standard toolbar, choose x64 in solution platform dropdown.
- in solution explorer, select both projects, right click , choose properties shortcut menu.
choose "all configurations" in configuration drop down, set configuration properties | general | output directory "$(solutiondir)bin\$(platform)\$(configurationname)\" place output in bin subdirectory in solution directory , click ok. @ point,
dir \projects\ndislsf1
returns:directory of c:\projects\ndislwf1
04/25/2013 09:42 <dir> . 04/25/2013 09:42 <dir> .. 04/25/2013 09:42 <dir> ndislwf1 04/25/2013 09:42 <dir> ndislwf1 package 04/25/2013 09:46 14,811,136 ndislwf1.sdf 04/25/2013 09:42 7,627 ndislwf1.sln 2 file(s) 14,818,763 bytes 4 dir(s) 6,701,723,648 bytes free
now, press f6 build solution
all far, dir \projects\ndislsf1 shows our bin directory created , further inspection shows output files correctly placed there:
directory of c:\projects\ndislwf1
04/25/2013 09:47 <dir> . 04/25/2013 09:47 <dir> .. 04/25/2013 09:47 <dir> bin 04/25/2013 09:47 <dir> ndislwf1 04/25/2013 09:47 <dir> ndislwf1 package 04/25/2013 09:46 14,811,136 ndislwf1.sdf 04/25/2013 09:42 7,627 ndislwf1.sln 2 file(s) 14,818,763 bytes 5 dir(s) 6,695,829,504 bytes free
in standard toolbar, choose "vista release" in solution configurations dropdown , press f6 again build solution
directory of c:\projects\ndislwf1 04/25/2013 09:51 . 04/25/2013 09:51 .. 04/25/2013 09:47 bin 04/25/2013 09:47 ndislwf1 04/25/2013 09:47 ndislwf1 package 04/25/2013 09:46 14,811,136 ndislwf1.sdf 04/25/2013 09:42 7,627 ndislwf1.sln 04/25/2013 09:51 x64 2 file(s) 14,818,763 bytes 6 dir(s) 6,689,509,376 bytes free
unfortunately, vista release output written x64 instead of bin subdirectory. in fact, other projects' outputs' ignore bin subdirectory , write in x64.
has else experienced problem, , if so, there known workarounds or fixes expected?
i had same issues on most, not all, of build configurations (vista debug win32 came out correctly reason). here's how worked around it/solved it:
opened nnn_package.vcxproj file in editor.
noticed entry above build configuration (vista|debug|win32) located itself, separated other configuration entries "propertygroup" entry that, amongst other things, set "packagedir"$(outdir)nnn_package"/packagedir"
(replace " less-than/more-than)
moved section -after- build configuration entries , saved.
reopened solution in vs2012 , packages output correct folder regardless of configuration name , platform.
hope helps.