views:

165

answers:

1

I have a VS 2008 project that is using DTS. The project is in source control, and I don't want to check out and modify the project references for fear of stubbing the toes of other developers for whom things are just fine.

For me, right now Visual Studio can't locate the DTS reference used by the project.

I have SQL Server 2008 installed and I have the Interop.DTS assembly on my machine. The problem is the VS project doesn't seem to realize that, based on this reference problem.

In the VS project file there's this line regarding the DTS reference:

 <COMReference Include="DTS">
  <Guid>{10010001-EB1C-11CF-AE6E-00AA004A34D5}</Guid>
  <VersionMajor>2</VersionMajor>
  <VersionMinor>0</VersionMinor>
  <Lcid>0</Lcid>
  <WrapperTool>tlbimp</WrapperTool>
</COMReference>

So the project is looking for a DTS / COM based dll, which I don't have. My question is, how can I get VS to accept Interop.DTS as a substitute for DTS without modifying the project?

I have a coworker who has this working; his reference in the project to DTS points to Interop.DTS.dll, in the project's bin/debug folder. I don't get why it works for him and not me. It's confusing. Thanks for listening.

A: 

Well, here's what I finally wound up doing. I copied from another machine the COM dll named dtspkg.dll. I also grabbed dtspkg.rll as regsvr32 squawked about it when I tried simply registering the dll without the rll.

After registering, I reloaded the project in question and my DTS reference problem was solved-- the project is now referencing Interop.DTS.dll.

How that came about I'm not sure, but I assume COM interop somehow intercepts the COMReference guid in my VS project and says, "wait a minute-- here's what you really want."

larryq