Visual Studio иногда перестраивает неизмененные проекты после перезагрузки ПК - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть решение Visual Studio 2013 с около 50 проектами на C #. Обычно, если я выбираю build (F6), он просто строит проекты, которые изменились. Но иногда после того, как я выключаю и перезагружаю свой компьютер, он перестраивает все, когда я выбираю сборку (F6). Зачем?

Это происходит не всегда, когда я перезагружаю свой компьютер. В большинстве случаев говорится, что все проекты обновлены после перезагрузки. Но иногда он перестраивает все.

Я взглянул на следующий вопрос Visual Studio Перестраивает неизмененные проекты и его ответы.

Следующий шаг, который я сделал, - установить подробность вывода сборки для диагностики.

Я получаю следующий вывод, когда Visual Studio перестраивает все после перезагрузки ПК:

1>Project 'Project1' is not up to date. Missing input file
...

Там гораздо больше строк (более 1000). Я посмотрел на них, но до сих пор не понимаю, почему Visual Studio перестраивает проект.

Обновление

Зачем Visual Studio нужен следующий файл?

1>Project 'Project1' is not up to date. Missing input file
'c:\users\wo\appdata\local\temp\.netframework,version=v4.5.assemblyattributes.cs'.
...

1 Ответ

0 голосов
/ 06 сентября 2018

Visual Studio иногда перестраивает неизмененные проекты после перезагрузки ПК

Одной из причин, которая привела к этой проблеме, является то, что учетная запись здания утратила разрешение на папку temp. Чтобы решить эту проблему , вы можете попытаться предоставить разрешения read/write/execute для папки temp или, возможно, попробовать запустить Visual Studio от имени администратора , чтобы проверить, связаны ли они с разрешениями.

Как мы знаем, если мы открываем / собираем проект в visual studio, .NETFramework,Version=v4.x.AssemblyAttributes.cs автоматически появляется в папке temp. Если вы потеряли разрешение на папку temp после перезагрузки компьютера или не запустили Visual Studio от имени администратора, мы не смогли получить доступ к папке temp, тогда Visual Studio сообщит, что не может найти файл version=v4.5.assemblyattributes.cs в temp папка.

Кроме того, вы также можете создать этот файл в промежуточном каталоге (обычно он называется obj), добавив следующее свойство в файл проекта:

  <PropertyGroup>
    <TargetFrameworkMonikerAssemblyAttributesPath>$([System.IO.Path]::Combine('$(IntermediateOutputPath)','$(TargetFrameworkMoniker).AssemblyAttributes$(DefaultLanguageSourceExtension)'))</TargetFrameworkMonikerAssemblyAttributesPath>
  </PropertyGroup>

Учетные данные: MSBuild: ненужные перестройки из-за сгенерированных AssemblyAttributes.cs

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...