首页 文章

(VS Team Services)构建解决方案:名称空间'Microsoft'中不存在类型或命名空间名称'Office'

提问于
浏览
0

我们有一个应用程序可以读取microsoft excel文件(.xls,.xlsx,.xlsm) .

它工作正常:

Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
Excel.Range range;
int rCnt;
int cCnt;
int rw = 0;
int cl = 0;
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Open(full_filename, 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
range = xlWorkSheet.UsedRange;
rw = range.Rows.Count;
cl = range.Columns.Count;
for (rCnt = 1; rCnt <= rw; rCnt++)
{
    List<object> rowList = new List<object>();
    for (cCnt = 1; cCnt <= cl; cCnt++)
    {
        // do stuff
    }
}
xlApp.Quit();
Marshal.ReleaseComObject(xlWorkSheet);
Marshal.ReleaseComObject(xlWorkBook);
Marshal.ReleaseComObject(xlApp);

问题出在Visual Studio Team Services中,它会在构建过程中导致以下错误:

命名空间“Microsoft”中不存在类型或命名空间名称“Office”(您是否缺少程序集引用?)

我们应该在Visual Studio上设置什么,以便Team Services能够构建应用程序?谢谢

1 回答

  • 1

    在该错误之前,您应该收到有关缺少程序集(特别是Microsoft.Office.Interop.Excel)的警告,程序集不可用(在GAC上)到VSTS的托管构建代理程序 .

    解决方案是利用此Nuget package Microsoft.Office.Interop.Excel并引用项目中Nuget包提供的程序集 .

    只要您在实际构建之前使用Nuget Restore构建任务,构建就会在eveyrwhere中运行 .

相关问题