使用 CSC 编译 C# 代码 - excel 互操作
Posted
技术标签:
【中文标题】使用 CSC 编译 C# 代码 - excel 互操作【英文标题】:Compiling C# code with CSC - excel interop 【发布时间】:2011-12-07 18:29:05 【问题描述】:我在使用 CSC 编译 C# 代码时遇到以下错误 - “错误 CS0234:类型或命名空间名称 'Core' 未在命名空间 'Microsoft.Office' 中退出(您是否缺少程序集)”
在处理这个项目之前,我对面向对象编程的经验为零。它涉及通过串行命令自动化几个设备。从本机 Excel 文件中读取参数,并将数据写入代码创建的 Excel 文件中。
以下是可能相关的想法:
我的编译命令:CSC /r:"C:\Data\Code\Microsoft.Office.Interop.Excel.dll"compiled.cs 我在上面的目录中有 Microsoft.Office.Interop.Excel.dll 文件。我从安装它的其他东西在我的计算机上找到了该文件。日期为 2007 年。 我使用的是 Office 2010 我安装了 Microsoft Office 2010:Primary Interop Assemblies Redistributable 但不知道做了什么 我从 Framework(不是 Framework64)修订版 4.0.30319 引用 CSC这是我的代码的标题
使用系统; 使用 System.Collections.Generic; 使用 System.Linq; 使用 System.Text; 使用 System.IO.Ports; 使用 System.Threading; 使用 Microsoft.Office.Core; 使用 Excel = Microsoft.Office.Interop.Excel; 使用 Microsoft.Office.Interop.Excel;
命名空间 ConsoleApplication1 课堂节目 static void Main(string[] args)
后续问题(如果我让它工作)我需要担心哪些事情才能让它在另一台计算机上运行?我的想法是我需要的只是同一目录结构中的 .excel.dll 和 .exe 文件? (目前我不知道目标计算机上正在运行什么版本的 .NET 或 Office - 我的猜测至少是 Office 2010。)
任何指导将不胜感激。在过去的一周里,我已经厌倦了 google+
问候, 基思
【问题讨论】:
我尝试编辑您的帖子以进行正确的代码格式化,但它不想让我这样做。 【参考方案1】:我知道这不是您正在寻找的确切答案,但我发布它是因为我认为这比直接回答您的问题更有帮助。
下载 Visual C# 2010 Express 并让 IDE 为您完成繁重的工作将为您节省大量时间。
听起来您需要添加引用,这意味着在某处引用现有的 .dll 文件。我知道是否可以通过命令行完成,但使用 IDE 要容易得多。
它是免费的,可以在这里找到:http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-csharp-express
这里有 Office Interop 的操作指南:http://msdn.microsoft.com/en-us/library/dd264733.aspx
【讨论】:
David,我想我确实错过了我使用 Visual C# 2010 Express 编写和测试代码的一个细节。我认为编译后的 .exe 版本会更容易/直接供其他人使用。我会查看操作指南 - 谢谢。 @user1086255 - 您甚至无法手动编译自己的软件这一事实应该告诉您,仅提供 VS 解决方案并不容易。以上是关于使用 CSC 编译 C# 代码 - excel 互操作的主要内容,如果未能解决你的问题,请参考以下文章
《CRL Via C#》使用CSC.exe对两个文件进行编译