我在使用构建服务器构建C#解决方案时遇到问题.基本上,我们有一个运行Jenkins的持续集成框.我在Jenkins工作,使用MSBuild构建我的解决方案.尝试构建时,MSBuild会报告未知或缺少的程序集引用.
error CS0234: The type or namespace name 'Office' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?) error CS0246: The type or namespace name 'Worksheet' could not be found (are you missing a using directive or an assembly reference?)
我的解决方案有一个功能,它利用Excel中的一些对象.
问题是,我真的必须安装Microsoft Office,以便我的构建服务器能够简单地构建解决方案吗?构建服务器将不会使用我的应用程序,我只需要它来构建我的解决方案.
我在StackOverflow上看到了类似的帖子,同样的问题,但似乎有多个相互矛盾的答案说"是的,你必须安装Office".虽然其他答案说"不,你可以安装PIA可再发行组件."
示例::
在.NET中使用Microsoft.Office.Interop.Excel需要什么参考?
构建服务器中的Microsoft.Office.Interop.Excel参考
是否必须安装Microsoft Office 2007?
如何在没有安装MS Office的计算机上使用Microsoft.Office.Interop.Excel?
在服务器上,我已经完成了下载/安装此处找到的主互操作程序集Redistributable的过程::
http://www.microsoft.com/en-us/download/details.aspx?id=3508
但是没有解决任何问题.
当然,该解决方案在我们的开发机器上构建得很好,因为我们都安装了Microsoft Office.
当然,我们不必获得另一个Microsoft Office许可证并将其安装在我们的构建服务器上,以便简单地构建我们的解决方案,对吧?或者我们会吗?
谢谢阅读.