Вывод MSBuild ZipDirectory отличается при построении решения и построении отдельного проекта
Интересно, используете ли вы Задание ZipDirectory для сжатия некоторых определенных файлов в вашем проекте. Я протестировал команду в разных проектах в одном решении и не столкнулся с той же проблемой, что и вы. Поэтому, пожалуйста, проверьте это:
1) Если вы просто сжимаете некоторые файлы содержимого в проекте, попробуйте создать новую папку в Solution Explorer
с именем resource
и затем поместите любые файлы, которые вы хотите сжать в это. И не забудьте установить, что эта цель выполняется после процесса сборки.
<Target Name="ZipOutputPath" AfterTargets="Build">
<ZipDirectory
SourceDirectory="$(MSBuildProjectDirectory)\resource"
DestinationFile="$(MSBuildProjectDirectory)\output.zip" />
</Target>
2) Если вы хотите сжать файлы выходной папки, убедитесь, что вы установили Copy to Output Directory
из указанных c файлов в Copy if newer
.
Примечание : пожалуйста, проверьте, есть ли дополнительные цели, которые будут удалять некоторые файлы, такие как C.txt
, или есть дополнительные условия, чтобы ограничить это.
Build Solution означает, что он может создавать все проекты одновременно, поэтому мне интересно, есть ли у некоторых дополнительных проектов какая-либо конфигурация, которая вызовет такое поведение в первом проекте.
3) Кроме того, , вы также можете попробовать zip task
, чтобы понять это:
<Target Name="zipfiles" AfterTargets = "Build">
<ItemGroup>
<ZipFiles Include="xxxxx\A.txt" />
<ZipFiles Include="xxxxx\B.txt" />
<ZipFiles Include="xxxxx\C.txt" />
</ItemGroup>
<Zip OutputFilename="$(OutputPath)Project.zip" Files="@(ZipFiles)" />
</Target>
Кроме того , если все это не помогло, может возникнуть ситуация, когда вы можете иметь проблема с вашей средой VS Благодаря этому вы можете выполнить следующие действия:
A) закрыть экземпляр VS, удалить скрытую папку .vs
в пути решения, папку bin
и obj
. Затем перезапустите решение и затем соберите заново, чтобы увидеть, сохраняется ли проблема.
B) используйте devenv / safemode для запуска VS и затем проверьте, вызвана ли проблема сторонними расширениями, пакетами.
C) сделать ремонт в VS Installer.
Если я неправильно понимаю вашу проблему, пожалуйста, поделитесь Более подробную информацию и дайте нам знать.