C# 安装项目中的DragDrop注册未成功

C# 安装项目中的DragDrop注册未成功,c#,visual-studio,installation,drag-and-drop,setup-project,C#,Visual Studio,Installation,Drag And Drop,Setup Project,我们在VisualStudio解决方案中有一些安装项目(其他项目类型->安装和部署->安装项目)。此项目具有另一个库类型项目,其安装类名为InstallationCore,类似于项目输出。在用户操作中,我调用InstallationCore安装程序的安装和卸载功能 InstallationCore具有用于与用户交互的windows窗体。在表单中,我使用拖放功能将文本从树状视图拖放到文本框中。 但在这方面: txbUserName.AllowDrop = true; 我收到JIT调试器的错误信息

我们在VisualStudio解决方案中有一些安装项目(其他项目类型->安装和部署->安装项目)。此项目具有另一个库类型项目,其安装类名为InstallationCore,类似于项目输出。在用户操作中,我调用InstallationCore安装程序的安装和卸载功能

InstallationCore具有用于与用户交互的windows窗体。在表单中,我使用拖放功能将文本从树状视图拖放到文本框中。
但在这方面:

txbUserName.AllowDrop = true;
我收到JIT调试器的错误信息:

发生了未处理的异常
DragDrop注册未成功
System.InvalidOperationException:DragDrop注册未成功

以及之后的长堆栈跟踪。
重要的是,当我从测试项目运行安装程序函数时,错误并没有发生,所有工作都正常。只有在运行.msi包时才会发生错误


有什么建议吗

请尝试清理BIN目录。

请从解决方案目录中删除所有Obj文件夹并重新生成解决方案。记住不要只建造而重建。因为生成只是在上次成功生成中准备新更改。所以请使用重新生成选项。

生成:-生成文件,并替换或覆盖所有文件,无论它们是否存在于bin文件夹中

重建:-如果没有修改,则使用现有文件

Clean:-它从bin位置删除所有文件

建议先清理然后生成,如果不需要引用和生成相关文件,请始终使用重新生成

除此之外,在运行中,(Windows按钮+R),转到临时文件夹(在运行中键入%temp%)有一个与.NET临时文件相关的文件夹,请尝试删除该文件夹。如果无法删除该文件夹,请关闭Visual Studio,然后尝试删除它。
每次我们构建或重新构建应用程序时都会创建此问题,有时会产生问题。

您是否有导致此问题的多线程。如果是这样,找到他们并强迫他们离开

trd = New Threading.Thread(AddressOf ThreadTask) 
trd.IsBackground = True
trd.SetApartmentState(ApartmentState.STA)

我通过删除我的bin目录解决了这个问题。

原因如下所述:但我不确定该解决方案是否可以应用于安装项目。+1@dtb,这是完全正确的。有一个可能的解决办法。