我们目前正在评估新的Visual Studio 2015,并遇到了IntelliSense的一个奇怪问题.当我使用新工作室编译我们的主要解决方案时,构建成功,但是仍然显示了6个错误.
我发现这不是一个真正的错误,而只是一个智能感知错误.代码肯定是正确的,一切都编译成功.但是代码标记为红色,错误显示在错误列表中.
所有6个错误都有相同的来源.这是一个简单的构造函数调用.很奇怪,但也有一些完全相同的构造函数没有任何错误.
错误消息:
Code: CS1729
Message: '<the class>' does not contain a constructor that takes that many arguments.
Project: <the project name>
File: <the path to the file>
Run Code Online (Sandbox Code Playgroud)
新工作室安装在新安装的Windows 7上,没有任何传统软件(没有VS13).
我已经尝试清除缓存,删除suo文件,删除bin和obj目录,清理并重建解决方案等但没有任何效果.
任何人都可以向我解释这种行为吗?
我开发了一个ASP.NET Core 2应用程序并包含了Swagger.一切正常,直到我介绍了一个没有明确定义HTTP操作的方法:
public class ErrorController : Controller
{
[Route("/error")]
public IActionResult Index()
{
return StatusCode(500, new Error("Internal error."));
}
}
Run Code Online (Sandbox Code Playgroud)
当我使用此方法启动应用程序时,出现以下消息:
无法加载API定义.
错误
获取错误内部服务器错误/swagger/v1/swagger.json
一旦我明确设置,例如[HttpGet]错误就消失了.这个问题是,我需要这个方法来触发所有可能的HTTP操作.当然,我可以明确指定所有操作,但我觉得Swagger应该能够正确处理这个问题.
为什么Swagger表现得这样?
我可以使用任何配置吗?
Visual Studio Code的默认diff工具很不错,但我想用我心爱的Beyond Compare替换它.
它在Visual Studio 2017中很容易配置.它也配置为git difftool.
我认为Beyond Compare应该有一个扩展,但我找不到.谷歌也只提供了有关完整VS IDE的结果,但对VSC没有任何结果.
有什么建议?
我们正在使用cypress编写UI测试,这通常很容易使用。但是我一次又一次地遇到了一个乏味的等待问题。
场景非常简单。用户单击搜索按钮。然后,他选择具有特定文本的元素之一。这是代码:
cy.get('#search-button').click();
cy.contains('Test item 1').click();
cy.get('#cheapest-offer-button').click();
Run Code Online (Sandbox Code Playgroud)
第三次click事件失败,因为已经cy.contains('Test item 1')不等待页面和元素被渲染。根据我在测试步骤中看到的内容,它只需单击页面中间的按钮,实际上什么也没做。因此,所有后续步骤当然会失败。
但是,如果我wait()在这样的调用之间添加一个:
cy.get('#search-button').click();
cy.wait(2000);
cy.contains('Test item 1').click();
cy.get('#cheapest-offer-button').click();
Run Code Online (Sandbox Code Playgroud)
页面正确呈现,Test item 1出现,被单击,随后的所有步骤均成功。
根据最佳实践,该wait()呼叫不是必需的,因此应避免。我在这里做错了什么?