Msdn是这样说明的: 在加载文档时,Excel 2003 和 Word 2003 会检查文档中的两个自定义属性: _AssemblyLocation0 和 _AssemblyName0。如果找到这些属性,宿主应用程序会加载 Visual Studio Tools for the Microsoft Office System 程序集加载程序 (Otkloadr.dll)。这个未托管的 DLL 负责加载使用 Visual Studio Tools for the Microsoft Office System 创建的程序集。该加载程序使用文档的自定义属性查找该文档的程序集、将该程序集加载到内存、检查某些元数据、建立宿主和程序集之间的引用,然后结束其操作。
_AssemblyLocation0 这个属性保存的就是程序集的相对路径,只要我们在保存文档时,只要把 _AssemblyLocation0 这个属性的相对路径改为绝对路径,就可以把文档拷贝到你机器的任何地方,而不用每次都必须连带程序集一起拷贝了。
示例代码,我的Word模板工程是这样处理的:
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ContractedBlock.gif](/Images/OutliningIndicators/ContractedBlock.gif)
![dot.gif](/Images/dot.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![ExpandedBlockEnd.gif](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)