System.IO.FileNotFoundException: 无法加载文件或程序集 System.Xml.Linq

System.IO.FileNotFoundException: Could not load file or assembly System.Xml.Linq

我有一个在我的计算机上运行良好的单声道项目 (运行 Ubuntu 16.04),但是当我将它上传到 AWS 中的 Ubuntu 时,它抛出了这个异常:

System.TypeInitializationException: The type initializer for 'Amazon.AWSConfigs' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.

在 Ubuntu 服务器上,我使用 sudo apt-get install mono-runtime 安装了单声道。我假设这没有为 System.Xml.Linq.

安装 DLL

请注意错误与程序集引用无关,而是与实际程序集 DLL 文件丢失有关。使用 strace mono ParamStoreTest.exe 表明它试图搜索 DLL 但找不到它:

open("/usr/lib/System.Xml.Linq.dll", O_RDONLY) = -1 ENOENT (No such file or directory)

在 运行 dpkg -S System.Xml.Linq 找出安装它的软件包后,我 运行 sudo apt-get install libmono-system-xml-linq4.0-cil 在 EC2 机器上。这解决了这个问题。