string generatedCode = "";
generatedCode += " ";
int enumFieldsLength = 12; // Set equal to number of spaces in current indentation
for(int i = 0; i < dbTableList.Count; i++)
{ // enum
generatedCode += dbTableList[i].DbField;
if(i != dbTableList.Count - 1)
{
generatedCode += ",";
enumFieldsLength += dbTableList[i].DbField.Length + 2; // 2 for the comma + space
if(enumFieldsLength <= SourceCode.MAX_CHARACTERS_PER_LINE)
{
generatedCode += " "; // Add space after trailing comma
}
else
{
enumFieldsLength = 12;
generatedCode += "\r\n "; // New line because exceeded maximum allowed characters per line
}
}
}
我这里有一个简单的代码。 正在运行Visual Studio 2019。 Visual Studio的行为很奇怪。 在else条件中,调试器完全跳过“enumFieldsLength=12”。 即使我把它移到字符串串联语句之后,它也完全跳过它。 此外,调试器标记中的当前行变成了一个奇怪的块。
这是怎么回事,我该如何解决这个问题? 我有ReSharper,但我试过禁用它,但没用。 我还尝试清洗解决方案和清洗每个单独的项目,重建。 未选中“优化代码”。
我想通了。
我手动删除了bin和obj文件夹,然后手动重建每个单独的项目。
我不是100%确定这一行导致它开始起作用(因为我在合并之后做的其他事情都很好,加上删除bin文件夹就解决了这个问题,而没有弄乱sln),但无论如何,我也恢复了那个更改。 与我合并的那个人没有添加或删除任何文件,所以sln不应该改变(在他们的分支上也不应该改变,只是Visual Studio太奇怪了)。