Visual studio 2010 查找项目/解决方案中不再存在的文件

Visual studio 2010 查找项目/解决方案中不再存在的文件,visual-studio-2010,visual-studio,Visual Studio 2010,Visual Studio,VisualStudio2010有一个bug(或恼人的行为),即如果包含对不再存在的(源)文件(以及随后所有依赖的项目)的引用,它总是为项目启动新的生成。现在我有一个相当大的项目,我知道找到这些文件的唯一方法就是手动打开每个文件 有没有更简单的方法来识别项目文件中的无效引用?您是否尝试过在记事本++之类的编辑器中打开项目文件,并从中查找和删除引用?(如果我正确理解了问题的话)我编写了一个python脚本,用于识别丢失的文件并将其打印到控制台 import os import re import

VisualStudio2010有一个bug(或恼人的行为),即如果包含对不再存在的(源)文件(以及随后所有依赖的项目)的引用,它总是为项目启动新的生成。现在我有一个相当大的项目,我知道找到这些文件的唯一方法就是手动打开每个文件


有没有更简单的方法来识别项目文件中的无效引用?

您是否尝试过在记事本++之类的编辑器中打开项目文件,并从中查找和删除引用?(如果我正确理解了问题的话)

我编写了一个python脚本,用于识别丢失的文件并将其打印到控制台

import os
import re
import sys

def show_help():
    print()
    print("Syntax:", sys.argv[0], "[filename]")
    print()

def check_missing_project_includes(filename):
    f = open(filename, 'r')
    p = re.compile('(ClCompile|ClInclude) Include="(.*?)" />', re.IGNORECASE)

    missing_files = []
    for line in f:
        m = re.search(p, line)
        if m:
            filename = m.group(2)
            if not os.path.exists(filename):
                missing_files.append(filename)

    return missing_files



if len(sys.argv) != 2:
    show_help()
    exit()

filename = sys.argv[1]
missing_files = check_missing_project_includes(filename)

if len(missing_files) > 0:
    print("Missing files:")
    for mf in missing_files:
        print("\t", mf)

我用来诊断丢失文件的一种技术是安装一个SCC提供程序Addin(例如,如果您使用的是Subversion,则为AnkhSVN),然后在解决方案资源管理器中,丢失的文件将有一个不同的图标。这对于较大的项目没有多大用处,但对于较小的项目,一目了然就可以看到。

问题不在于删除引用,而是如果我删除一个文件而不删除引用,VS没有告诉我这一点,而是总是启动一个新的构建,即使没有任何更改。您是否查看过:我认为此扩展只适用于引用的程序集,而不适用于已删除的源文件。