Getting the project to build

Topics: Developer Forum
Dec 25, 2009 at 2:10 PM

I'm having problems getting the plug-in to find tests (it seems to be related to the folder structure of the project), so I thought that I'd use this to finally get involved in an open source project, and downloaded the source.

I've installed the VS SDK 2008 1.1 and the WIX toolset, however the project won't build.

The first issue is that three of the references in the NUnitTest project can't be found:

  1. Microsoft.VisualStudio.QualityTools.Tips.TuipPackage
  2. Microsoft.VisualStudio.QualityTools.TMI
  3. Microsoft.VisualStudio.TeamSystem.Common

I can only find those assemblies in C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies, however if I add them in, the package still won't build, giving me the following three errors:

  1. Failed to compare two elements in the array. C:\Development\NUnitForVS\Product\NUnitTest\regpkg NUnitTest
  2. Property accessor 'ServiceType' on object 'Microsoft.VisualStudio.TestTools.Vsip.ProvideTipAttribute' threw the following exception:'Common Language Runtime detected an invalid program.' C:\Development\NUnitForVS\Product\NUnitTest\regpkg NUnitTest
  3. Common Language Runtime detected an invalid program. C:\Development\NUnitForVS\Product\NUnitTest\regpkg NUnitTest

Looking at those errors, it seems as if the path to regpkg is wrong, but I can't find where in the project the call is made to it.

Any idea what I've done wrong here?

 

Dec 31, 2009 at 1:58 PM

I've now tried this on three different machines, on Windows XP (SP3) 32-bit, Vista (SP1) 32-bit, and Windows 7 64-bit, and I get exactly the same problems on all three. I've tried installing 1.0 of the VS SDK and then 1.1, but get the same result with both. The XP machine had NUnitForVS installed already, but the other two machines didn't.

I'm using Visual Studio Team System 2008, if that makes any difference.

I've looked in the project file for the NUnitTest project, and all the references in there have a hint path starting with S:\ExtRef, so I'm wondering if that has anything to do with it? If whoever set up that project has copied the dlls into a separate folder, that might explain why it works for them, and not for me.

Coordinator
Jan 24, 2010 at 10:09 PM

Manzo,

Sorry for the late reply.

It is correct that we have set up the path to the assemblies to use a folder called s:\extref. We do this so we can build the project in our buildfarm that has this requirement. Unfortunately codeplex does not provide the build infrastructure, so we have to maintain it in our own.

The assemblies referenced normaly reside in the SDK folders where you installed the SDK. Adding the hint path to that location should solve the references problem.

Second problem you hit is the commandline call to regpkg. This call is probably made from the visual studio settigns page, where we have a post build set up to register the package. Depending on your machine setup regpkg will be in de SDK directories in the program files or program files (x86) (Hence we use a s:\extref location, since it is dependend on installation)

Hope this helps to get you sorted. If not don't hesitate to ask.

Cheers,

Marcel

Oct 22, 2011 at 6:14 AM

I'm having exactly the same problem as Manzo, with almost identical steps taken.

I got the latest code, fixed the three references to point to PrivateAssemblies, and now get the exact same error at the RegPkg step.

What's the solution?

Windows XP fully patched / VS 2008 fully patched / VSSDK 2008 1.1

FYI - RegPkg is called from here:

C:\Program Files\MSBuild\Microsoft\VisualStudio\v9.0\VSSDK\Microsoft.VsSDK.targets

There does not appear to be any post-build events configured in the project properties for either the "NUnitTest" or "NUnitTest.UnitTest" projects.

How do I fix the RegPkg error?

Thanks!