C#项目:构建文件夹:在一台计算机上构建项目并在另一台计算机上运行
我有一个C#项目。要运行它,我需要提供2个参数 我想创建一个构建文件夹,我可以在另一台计算机上复制/粘贴该文件夹并在将来运行。首先,我在一台计算机上生成项目,然后在另一台计算机上复制/粘贴生成文件夹(我使用远程桌面连接)。生成文件夹包含可执行文件、配置文件(XML)和.dll文件 当我在第二台计算机上运行该程序时,控制台上有以下响应:C#项目:构建文件夹:在一台计算机上构建项目并在另一台计算机上运行,c#,build,visual-studio-2017,C#,Build,Visual Studio 2017,我有一个C#项目。要运行它,我需要提供2个参数 我想创建一个构建文件夹,我可以在另一台计算机上复制/粘贴该文件夹并在将来运行。首先,我在一台计算机上生成项目,然后在另一台计算机上复制/粘贴生成文件夹(我使用远程桌面连接)。生成文件夹包含可执行文件、配置文件(XML)和.dll文件 当我在第二台计算机上运行该程序时,控制台上有以下响应:System.Runtime.InteropServices.COMException(0x80040154):检索CLSID为{99AEA70E-4D13-44B
System.Runtime.InteropServices.COMException(0x80040154):检索CLSID为{99AEA70E-4D13-44BF-A878-33345CBFCBC8}的组件的COM类工厂失败,原因是以下错误:80040154类未注册(HRESULT的异常:0x80040154(REGDB_E_CLASSNOTREG))。
我检查了两台计算机上的.NET版本,它是相同的版本
我尝试了不同的构建案例(配置:版本和平台:任意CPU/x64/x86)
我看到了一些类似ClickOnce的东西,但由于有两个参数,我无法使用它
此外,要运行此项目,我使用一个UI(两台计算机都使用相同的UI)。UI在两台计算机上都工作。此更新配置文件并运行项目。在第一台计算机上(我们在此计算机上构建项目),程序正常工作。在第二台计算机上,UI正常工作。当我通过UI运行程序时,我遇到了上述问题
是否有解决此问题的方法?
我找到了一些解决方案,但它们很旧,不起作用。如评论中所述,您使用的是COM组件,可能还需要安装在第二台计算机上 也许有一种方法,当您找到引用时,找到相应的DLL并将其与可执行文件一起复制。如果您查看,Dmitri正在做的正是您需要做的,从其中的DLL加载类型
但是,在不安装COM组件的情况下使用这些类型时,请确保将所有内容都放在一个使用这些类型的程序集中。否则,您将收到奇怪的错误消息。谢谢您的回答。这有助于我理解此问题 所以,这个程序允许用Photoshop做一些事情。在第一台计算机上,我有Photoshop CS6,在第二台计算机上,我有Photoshop CC。为了解决这个问题,我将为Photoshop CS6和Photoshop CC创建一个构建文件夹 我尝试从第一台计算机(使用PhotoshopCS6)复制/粘贴构建文件夹到第三台计算机上,也使用PhotoshopCS6。这很有效
此问题是由Photoshop版本引起的。根据错误消息,您缺少一个COM组件,即您的项目引用.COM组件不支持复制部署,必须在使用它们的每台计算机上注册。注册后,.NET程序集的复制部署解决方案将按预期工作。