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:

  1. open vs 2012 , choose new project start page
  2. in "new project" dialog, choose installed | templates | visualc++ | windows driver | networking | filter driver: ndis. change location c:\projects, select "createdirectory solution", , click ok.
  3. in standard toolbar, choose x64 in solution platform dropdown.
  4. in solution explorer, select both projects, right click , choose properties shortcut menu.
  5. 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 
  6. 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 
  7. 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.


Popular posts from this blog

How to calculate SNR of signals in MATLAB? -

c# - Attempting to upload to FTP: System.Net.WebException: System error -

ios - UISlider customization: how to properly add shadow to custom knob image -