问题
我创建了一个实现 System.Management.Automation 参考的 C# 项目(允许我在我的项目中编写 powershell 命令)。
我编译了项目并将 dll 复制到我的 Rainmeter 应用程序的 plugins 文件夹中,以便我可以将它与其他 dll 的 Rainmeter 一起使用。
这在我的机器(64 位)上完美运行;但是,我想在另一台服务器(也是 64 位)上加载相同的配置。两台机器都使用相同的 .NET 框架 (4.5) 安装。
根据这个来源,我应该能够简单地使用包含的 dll 复制 Rainmeter 文件夹,并且它应该可以毫无问题地运行(我正在使用 Rainmeter 的便携式安装)。
我收到错误“System.IO.FileNotFoundException”,除非我在另一台服务器上运行 Rainmeter 时删除了我创建的“SystemVersion.dll”。
问题
由于问题显然是我添加的 dll,我假设引用没有被添加到 dll 中?
==================================================== =======================
编辑
根据@Hackerman 的回答,问题是dll 无法找到我的参考。System.Management.Automation 的路径需要在机器上安装 powershell 3.0 版才能加载参考。
我的服务器运行的是 powershell 2.0 版,但在安装 3.0 版后,dll 能够加载参考,Rainmeter 将按预期显示我的结果。