Как найти.CS файлы в папке проекта, которые больше не находятся в проекте?

Когда вы запрашиваете страницу Facebook, но не аутентифицировались , вам будет представлена ​​стандартная страница входа.

Я полагаю, что этот элемент не существует на этой странице и, следовательно, ничего не возвращает.

Вам нужно посмотреть на аутентификацию, используя красивый суп. К сожалению, я не могу привести вам пример, но ответ здесь в моем сообщении.

5
задан JaredPar 17 April 2009 в 14:30
поделиться

4 ответа

Лучше всего использовать язык сценариев для этой задачи. Я считаю, что PowerShell хорошо подходит для подобных ситуаций.

Шаг 1 - найти все фактические файлы .cs, которые включены в ваши файлы csproj. Следующая функция будет искать в структуре каталогов все файлы csproj и возвращать набор файлов .cs, включенных в эти файлы.

function Get-IncludedCsFiles() {
  param ( $rootPath = $(throw "Need a path") )
  $projFiles = gci -re -in *.csproj $rootPath
  foreach ( $file in $projFiles ) { 
    $dir = split-path $file.FullName
    foreach ( $line in (gc $file) ) { 
      if ( $line -match 'Compile\s+Include="([^"]+)"' ) {
        join-path $dir $matches[1]
      }
    }
  }
}

Теперь все, что вам нужно сделать, - это обернуть это в словарь, а затем выполнить поиск в структуре каталогов.

$map = @{}
$pathToSearch = "Path\To\Search"
Get-IncludedCsFiles $pathToSearch | 
%{
    if(!$map.Contains($_))
    {
      $map.Add($_, $true)
    } 
}
$notIncluded = gci -re -in *.cs $path | ?{ -not $map.Contains($_.FullName) }
5
ответ дан 18 December 2019 в 14:51
поделиться

Попробуйте «Показать все файлы» в обозревателе решений VS.

4
ответ дан 18 December 2019 в 14:51
поделиться

В данный момент у меня нет VS под рукой, но нет «Показать файлы, отсутствующие в проекте» "опция в обозревателе решений?

1
ответ дан 18 December 2019 в 14:51
поделиться

Один из способов избежать этой проблемы - процедурный: (работает для любого проекта, за исключением проекта «Веб-сайт», в котором нет файла проекта):

Вместо того, чтобы «получать последние данные» из инструмента управления исходным кодом, всегда выполняйте «контроль из источника» внутри Visual. Studio, и получите последнюю информацию из Solution Explorer. VS будет извлекать только те файлы, которые принадлежат проекту.

Это не идеальный ответ - когда вы выполняете слияния, вы, скорее всего, в конечном итоге снесете все файлы в вашей ветке, но это сработало очень хорошо для нас.

(конечно, для этого требуется, чтобы вы использовали инструмент управления исходным кодом, который предлагает интеграцию VS - он также требует, чтобы вы добавили в проект любые не скомпилированные, но необходимые файлы (значки и т. д.), иначе они не будут извлечены вниз по VS).

0
ответ дан 18 December 2019 в 14:51
поделиться