2008-12-31 98 views
3

當我添加到Office COM庫的引用,我去:C#Visual Studio:如何讓多個開發人員參考Office的解決方案?

  • 參考
  • 添加引用
  • 選擇COM選項卡
  • 選擇的Microsoft Office 12.0對象庫

並且神奇地命名參考出現:

Microsoft.Office.Core

Project.csproj文件顯示引用的詳細信息:

<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> 

我檢查項目源代碼控制,現在沒有人可以生成解決方案;他們沒有Office 12中,他們只有11處

另一個人檢查出的.csproj文件,刪除引用:

Microsoft Office 12.0 Object Library 

,並重新添加COM參考爲:

Microsoft Office 11.0 Object Library 

之後,和新的引用出現在解決方案:

Microsoft.Office.Core 

Project.csproj文件顯示引用的詳細信息:

<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> 

注:讀者誰看的問題就明白了這個問題。它是相同的類型庫,但版本2.3與版本2.4相反。

該項目然後簽入源代碼控制,而現在開發商與Office 2007(和Office 2000爲此事)不能建立它,因爲Visual Studio無法解析引用到:

{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}\2.3\0\primary 

我們顯然需要一個獨立版本的方式來引用Office。

我們如何引用開發人員在他的機器上構建它的開發人員版本?

我們如何讓多個開發人員使用參考Office的解決方案?


注:這個問題是相同的,但是從另一個問題#1 How to use Office from Visual Studio C#?

從嘗試使用Office從Visual Studio整套的問題,這個問題涉及根本的不同。這個問題只關注一個具體問題。

回答

5

抽象您的代碼,以便觸及Office的所有代碼位於單獨的項目中。然後,您可以擁有兩個項目 - 一個用於Office 11,另一個用於Office 12.然後從您的應用程序中引用這兩個項目。如果這兩個類都實現了一個通用接口,那麼您可以使用工廠模式來實例化適當的接口並使用這些功能,而無需重新編譯。

+1

問題在於,當下一個版本的Office發佈時,我們的解決方案將無法工作。 – 2008-12-31 16:23:47

0

晚期綁定以哪個類型庫的存在,並且代碼對舊接口 - 如果你使用的的V11接口,你應該確定時你已經在一臺機器上獲得了v12。

0

如果將接口抽象爲單獨的項目,則可以使用vb.net及其內置的後期綁定支持來提供功能和管理資源。

相關問題