DragDrop注册在Setup Project中未成功

时间:2010-04-17 18:20:37

标签: c# visual-studio installer drag-and-drop setup-project

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

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

txbUserName.AllowDrop = true;

我收到JIT调试器的错误:

  

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

之后的长堆栈跟踪。
重要的是,当我从测试项目运行安装程序功能时,错误没有发生,一切正常。仅当我运行.msi包时才会出现错误。

有什么建议吗?

5 个答案:

答案 0 :(得分:1)

您是否有任何多线程导致此问题。如果是这样,找到它们并强制它们到STA

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

请尝试清理BIN目录。

答案 3 :(得分:0)

请从解决方案目录和重建解决方案中删除所有Obj文件夹。记住不要仅构建重建。因为Build只是在上次成功构建时准备了新的更改。所以请使用Re-Build选项。

答案 4 :(得分:0)

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

重新构建: - 如果没有修改,请使用现有文件。

清理: - 删除bin位置的所有文件。

建议使用Clean然后Build,如果您不需要引用并构建相关文件,则始终使用重新构建。

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