У меня есть проект веб-сайта, который развертывается с использованием функции «Опубликовать веб-сайт» в Visual Studio. Я понимаю, что эта функция использует WebDeploy (MSDeploy), которая вызывает MSBuild для компиляции сайта.Игнорировать каталог в MSDeploy и MSBuild
Внутри веб-сайта есть каталог, который должен быть проигнорирован как WebDeploy, так и MSBuild, поскольку он разбивает сайт.
Я был в состоянии настроить файл конфигурации развертывания (.pubxml), чтобы WebDeploy игнорировать каталог:
<PropertyGroup>
...
<ExcludeFoldersFromDeployment>node_modules</ExcludeFoldersFromDeployment>
</PropertyGroup>
Я также был в состоянии получить сайт, чтобы скомпилировать, сделав каталог, скрытый в файловой системе.
Однако, я не могу заставить MSBuild игнорировать каталог при вызове из WebDeploy.
Как игнорировать каталог в любое время, когда сайт скомпилирован?
Update
Бревно компиляторов это в окне вывода, когда он терпит неудачу:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.WebSite.Publishing.targets(172,5): Error MSB4018: The "CollectFilesinFolder" task failed unexpectedly.
Что вы подразумеваете под «при вызове из WebDeplay»? Вы имеете в виду msdeploy.exe? –
Я нажимаю «Публиковать веб-сайт» в обозревателе решений, он запускает диалоговое окно публикации. Когда я нажимаю публикацию, он вызывает MSDeploy, который вызывает MSBuild. –
Gotcha. Для записи это на самом деле наоборот: MSBuild вызывает MSDeploy - MSDeploy не имеет зависимости от MSBuild. –