Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#项目:构建文件夹:在一台计算机上构建项目并在另一台计算机上运行_C#_Build_Visual Studio 2017 - Fatal编程技术网

C#项目:构建文件夹:在一台计算机上构建项目并在另一台计算机上运行

C#项目:构建文件夹:在一台计算机上构建项目并在另一台计算机上运行,c#,build,visual-studio-2017,C#,Build,Visual Studio 2017,我有一个C#项目。要运行它,我需要提供2个参数 我想创建一个构建文件夹,我可以在另一台计算机上复制/粘贴该文件夹并在将来运行。首先,我在一台计算机上生成项目,然后在另一台计算机上复制/粘贴生成文件夹(我使用远程桌面连接)。生成文件夹包含可执行文件、配置文件(XML)和.dll文件 当我在第二台计算机上运行该程序时,控制台上有以下响应:System.Runtime.InteropServices.COMException(0x80040154):检索CLSID为{99AEA70E-4D13-44B

我有一个C#项目。要运行它,我需要提供2个参数

我想创建一个构建文件夹,我可以在另一台计算机上复制/粘贴该文件夹并在将来运行。首先,我在一台计算机上生成项目,然后在另一台计算机上复制/粘贴生成文件夹(我使用远程桌面连接)。生成文件夹包含可执行文件、配置文件(XML)和.dll文件

当我在第二台计算机上运行该程序时,控制台上有以下响应:
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程序集的复制部署解决方案将按预期工作。