MSBuild: Как обрабатывать предупреждения как ошибки при создании проекта с помощью FAKE? - PullRequest
2 голосов
/ 20 мая 2019

Я строю проект с помощью скрипта .fsx, используя FAKE и MSBuild.При сборке с MSBuild я даю ему несколько параметров:

Target "BuildProject" (fun _ ->
CleanDir ProjectDir
[ProjectPath]
|> MSBuild ProjectDir "Build" ["Configuration", "Release"; "Platform","x64"; "Verbosity", "quiet"; "TreatWarningsAsErrors", "true"]
|> ignore)

Однако, когда я запускаю свой скрипт, предупреждения не рассматриваются как ошибки:

Build succeeded.

1 Warning(s)
0 Error(s)

Time Elapsed 00:00:11.36
Finished Target: BuildProject

Вот мой ввод для командной строки:

Building project: MyProject/MyProject.fsproj
  C:\Program Files (x86)\Microsoft Visual 
Studio\2017\Professional\MSBuild\15.0\Bin\MSBuild.exe  
MyProject/MyProject.fsproj /t:Build /m  /nodeReuse:False /p:RestorePackages="False" 
/p:OutputPath="D:\MyProjectFolder\build\MyProject" /p:Configuration="Release" /p:Platform="x64" 
/p:Verbosity="quiet" /p:TreatWarningsAsErrors="true" /logger:Fake.MsBuildLogger+ErrorLogger,"D:\MyProjectFolder\Project\packages\FAKE\tools\FakeLib.dll"

Я не уверен, правильно ли установлено свойство, но я пробовал разные версии, читая документацию FAKE и MSBuild.

Из того, что я читал в Интернетесвойство должно быть передано компилятору и не будет работать, если свойство определено в файле XML.

Я использую FAKE 4.64.11.

Я хочу, чтобы все предупреждения былитрактуется как ошибки, а не только как конкретные предупреждения.

Надеюсь, что кто-то может помочь.

1 Ответ

0 голосов
/ 21 мая 2019

Итак ... после повторного изучения, кажется, что ошибки MSB, такие как отсутствующие сборки, не могут быть обнаружены подходом TreatWarningsAsErrors, как я уже говорил выше. Чтобы обойти это, есть специальная оболочка для сборки, которая ловит эти ошибки.

Я нашел ответ в ответе на этот вопрос: Обрабатывать все предупреждения как ошибки

Еще одна похожая тема: Как я могу трактовать предупреждение MSB3245 (не удалось разрешить ссылку) как ошибку?

...