【问题标题】:C# EnvDTE and TFS massive problemsC# EnvDTE 和 TFS 大量问题
【发布时间】:2016-12-23 16:16:12
【问题描述】:

我为 VS 2015 创建了一个 vsix 插件,它接收 REST 服务的一些数据,将其写入文件,然后将文件添加到我的 C# 项目中。

问题是在文件被写入文件系统并集成到项目后,我在 Visual Studio 中的用户输入被阻止:

例如例如,我可以在代码文件中编写“asdf”,但是当我尝试使用退格按钮删除文本时,它不起作用。 CTRL 等其他按钮也不起作用。

有趣的是当我关闭 VS2015 时出现以下错误:

问题肯定是由这行引起的:

project.ProjectItems.AddFromFile(filePath);

project 是一个 EnvDTE.Project 对象!问题是文件已添加到我的项目中,但我必须终止并重新启动 VS 才能继续我的工作。

我还找到了一个解决方法:当我在项目中禁用 TFS 时一切正常!

所以我的结论是问题是由TFS引起的! 谁能告诉我我能做些什么来解决这个问题!每次重启VS都要花费我大量的时间!

【问题讨论】:

  • 您是在源代码管理 (TFS) 中添加项目还是仅在本地工作?

标签: c# visual-studio-2015 tfs envdte


【解决方案1】:

使用TFS时,需要先签出项目进行修改,使用SourceControl.CheckoutItem:https://msdn.microsoft.com/en-us/library/envdte.sourcecontrol.checkoutitem.aspx

【讨论】:

    【解决方案2】:

    这里的问题不是你在做什么,而是怎么做。您正在打开的某些模态窗口已锁定在屏幕上。确保您正确关闭它。

    这种行为在使用模态时很常见。试着弄清楚你正在打开什么窗口,并尝试将它从模态更改为非模态。

    它会解决这个问题。

    【讨论】:

    • 不一定,如果它实际上是 TFSVC,那么它可能会尝试从无法显示模式的地方提示用户签出项目。
    • 你先生是个天才!这正是问题所在:我有一个显示进度的窗口,我用 Window.ShowDialog(); 打开了窗口。我切换到 Window.Show();问题解决了!非常感谢!
    猜你喜欢
    • 2015-06-13
    • 1970-01-01
    • 1970-01-01
    • 2013-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-09
    • 2020-01-20
    相关资源
    最近更新 更多