我是一个F#的新手,在尝试解决来自MSDN F#教程中一段简单代码的错误时,花费了许多痛苦的时间。
#r "Microsoft.Office.Interop.Excel.dll"
// fails with invalid/not found errors
#r "Microsoft.Office.Interop.Excel" // works like a charm.
任何F#高手知道为什么吗?
我是一个F#的新手,在尝试解决来自MSDN F#教程中一段简单代码的错误时,花费了许多痛苦的时间。
#r "Microsoft.Office.Interop.Excel.dll"
// fails with invalid/not found errors
#r "Microsoft.Office.Interop.Excel" // works like a charm.
Microsoft.Office.Interop.Excel.dll
" 是一个文件的名称(因为有 ".dll" 后缀可以推断得出)。当您提供文件名时,#r
将在文件系统中查找该文件。由于您没有提供路径,它将在您当前的工作目录中查找。最可能的情况是 "Microsoft.Office.Interop.Excel.dll"
不在您的工作目录中。这就解释了为什么第一个示例失败了。Microsoft.Office.Interop.Excel
" 推断为一个程序集的名称(因为没有文件扩展名)。程序集是库,并通常以.dll
文件的形式分发。但是,它们不必如此;例如,它们可以在运行时动态生成。此外,一个.dll
文件在技术上可以包含多个程序集,尽管我从未在实际情况中见过这种情况。最常见的情况是一个.dll
文件包含一个程序集,并且文件的名称对应于程序集的名称。"Microsoft.Office.Interop.Excel"
程序集。这解释了为什么第二个示例成功。