When i add a reference to Office COM Library, i to go:
- References
- Add Reference
- Select the COM tab
- Select Microsoft Office 12.0 Object Library
And magically named reference appears:
Microsoft.Office.Core
The Project.csproj file shows the details of the reference:
<COMReference Include="Microsoft.Office.Core">
<Guid>{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}</Guid>
<VersionMajor>2</VersionMajor>
<VersionMinor>4</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
</COMReference>
i check the project into source control, and now nobody else can build the solution; they do not have Office 12, they only have Office 11.
Another guy checks out the .csproj file, deletes the reference to:
Microsoft Office 12.0 Object Library
and re-adds the COM reference as:
Microsoft Office 11.0 Object Library
After that, and new reference appears in the Solution:
Microsoft.Office.Core
and the Project.csproj
file shows the details of the reference:
<COMReference Include="Microsoft.Office.Core">
<Guid>{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}</Guid>
<VersionMajor>2</VersionMajor>
<VersionMinor>3</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
</COMReference>
Note: Readers who read the question will understand the problem. It's the same type library, but version 2.3 as opposed to version 2.4.
The project is then checked into source control, and now developers with Office 2007 (and Office 2000 for that matter) cannot build it, because Visual Studio cannot resolve the reference to:
{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}\2.3\0\primary
We obviously need a version independant way to reference Office.
How do we reference the version of Office that the developer building it on his machine has intsalled?
How do we have multiple developers work on a solution that references Office?
Note: This question is identical to, but fundamentally different from, another Stackoverflow question How to use Office from Visual Studio C#?
That question deals with the entire set of problems from trying to use Office from Visual Studio. This question only focuses on one specific problem.