我们在Visual Studio解决方案中有一些安装项目(其他项目类型 - >设置和部署 - >安装项目)。这个项目有另一个库类型项目,其安装类名为InstallationCore,类似于项目输出。在用户操作中,我调用InstallationCore安装程序的安装和卸载功能。
InstallationCore具有用于与用户交互的窗体表单。在表单中,我使用拖放功能将树视图中的拖放文本拖放到文本框 但是在线:
txbUserName.AllowDrop = true;
我收到JIT调试器的错误:
发生了未处理的异常 DragDrop注册没有成功
System.InvalidOperationException:DragDrop注册未成功
之后的长堆栈跟踪。
重要的是,当我从测试项目运行安装程序功能时,错误没有发生,一切正常。仅当我运行.msi包时才会出现错误。
有什么建议吗?
答案 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,然后尝试删除它。 每次我们构建或重新构建应用程序时都会创建它,它有时会产生问题。