Библиотеки DLL различаются при публикации в msbuild по сравнению с Visual Studio 2013 - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть решение, которое содержит несколько проектов C # DLL и веб-проект MVC.Когда я публикуюсь с использованием Visual Studio 2013 и вручную с помощью msbuild, я нахожу, что библиотеки DLL отличаются (согласно Winmerge).

Я публикую проект с использованием Visual Studio 2013. Он использует профиль с именем «Release» с ReleaseКонфигурация и любой процессор.Это делает публикацию файловой системы.Я публикую два раза, в двух отдельных каталогах.Я сравниваю результаты с помощью Winmerge и не вижу различий.Я публикую два раза, чтобы убедиться, что библиотеки DLL идентичны.

Затем я использую msbuild для публикации того же проекта.Я использую тот же профиль, ту же конфигурацию и ту же платформу.Я сравниваю библиотеки DLL, созданные msbuild, с библиотеками, созданными в Visual Studio с помощью Winmerge.У них одинаковая версия файла, но есть различие в несколько байтов в начале и конце файла.

Ожидается ли это?Существуют ли данные верхнего / нижнего колонтитула, которые могут отличаться при публикации в Visual Studio по сравнению с использованием msbuild вручную?

Моя команда msbuild выглядит следующим образом:

C:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe "c:\path\to\my.csproj" ^
    /t:Rebuild ^
    /p:Platform=AnyCPU ^
    /p:DeleteExistingFiles=true ^
    /p:PublishDestination="d:\output_path" ^
    /p:DeployOnBuild=true ^
    /p:PublishProfile=Release ^
    /p:WebPublishMethod=FileSystem ^
    /p:ExcludeApp_Data=false ^
    /p:publishUrl="d:\output_path" ^
    /p:VisualStudioVersion=12.0

Я подозреваю, что избыточность PublishDestination и publishUrl избыточнаи, возможно, указывать Platform не нужно, так как я также использую PublishProfile.Мне трудно найти документацию, которая мне помогает.

...