I upgraded my CPPUNIT projects to visual studio 2010 and had to manually fix it. The problem in the build was in the final actions where the output files are copied. For the cppunit_dll project, one of the custom commands is: copy "$(TargetPath)" ..\..\lib\$(TargetName).dll copy "$(TargetDir)$(TargetName).lib" ..\..\lib\$(TargetName).lib $(TargetName) is "cppunit_dll". This conflicts with what we're actually building: if you look at the Linker options, you see that the output file name is "cppunitd_dll.dll". The solution I used is to go to ConfigurationPropertys\General, and change "Target Name" from $(ProjectName) to"cppunitd_dll". I had to to a similar solution for the cppunit project.