VSpniff is a simple tool to lookup for some missing files references in the Visual Studio project xml file.
You need have powershell installed.
Download the latest version or whole repository and compile it by yourself.
Open Visual Studio command prompt
installutil -i VSpniff.Cmdlet.dll
Check if your nuget profile file exists, if not create empty file. To obtain current path to nuget profile file in the PM console type:
$profile
Add snapin to your nuget powershell profile file.
In the package manager console.
notepad $profile
In the file add
Add-PSSnapIn VSpniff
Save and close file. Restart shell or type
. $profile
Done.
There could be some troubles with tool installation due some security policy and fact that it was written in .NET 4.0
Problem: Installutil error "Could not load file or assembly .... or one of it's dependencies. Operation not supported. (Exception from HRESULT: 0x80131515)."
Solution: vspniff.cmdlet.dll could be blocked, because it comes from another computer. So go to properties of this dll and simply unblock it.
If you have an another. Please write down in comments.
Close all Visual studios if you add cmdlet to the nuget profile, and all powershell's consoles if you add to powershell profile.
Go to the directory where you have vspniff.cmdlet.dll
installutil /u VSpniff.Cmdlet.dll
Done.
Just open extension manager and search for Vspniff. Here you go direct http://visualstudiogallery.msdn.microsoft.com/99f0e072-0e93-4dcc-84d1-a8089a56a8d5
There is a option to specify which types of files will not be treated as a potentially missing and also in which directories searching will not be performed.
Only what do you have to do is add a simple file to your main solution directory or some subdirs (depends on your needs)
Sample config file (also this is a default hard-coded configuration so you do not have to add any file if you happy with below configuration)
All config file must have .vspniff extensions
config.vspniff
#This is sample configuration file for this project
#For more info go to http://github.com/tsubik/vspniff
#Properties info
#Mode - it is the way that the module will treat your options
# append - it will append your options to current context options
# override - in this and subdirs will only take this file options (unless in subdirs are also some config files)
#excludedExtensions - files with these extensions will not be listed as missing files
#excludedDirs - program will not be looking in these locations for missing files
mode: override
excludedExtensions: user, csproj, aps, pch, vspscc, vssscc, ncb, suo, tlb, tlh, bak, log, lib
excludedDirs: bin, obj
Just type in the package manager console
Find-MissingFiles
And all potentially missing files will be listed.
You can specify directory where the module should start looking for project files
Find-MissingFiles -d ./SomeRelativeDirectory
Find-MissingFiles -d d:\dev\myprojects\sample
You will find "Find missing files" command in Tool menu, that command looks for missing files for every project in the solution. You also have "Find missing files" command in context menu for solution and project nodes in solution explorer, if you choose project it will be looking for missing files only for selected project. Missing files will be listed in the Vspniff output pane in the output window it should be opened automatically.
Copyright © 2012 Tomasz Subik. See LICENSE for details