Как создавать детерминированные сборки в c#. Если у нас один и тот же код в разных каталогах/машинах

#c# #build #msbuild #roslyn #deterministic

Вопрос:

Я могу создать детерминированную сборку консольного приложения .net core, используя <Deterministic>true</Deterministic> эту опцию в файле .csproj.

Я использовал ILDASM, чтобы увидеть MVID. Он генерирует один и тот же MVID, если исходный код один и тот же.

Но он генерирует другой MVID, если код присутствует в другом каталоге/машине

Комментарии:

1. Попробуйте спросить в репо Roslyn: github.com/dotnet/roslyn/discussions

2. Я думаю, что путь считается «входным», поэтому ожидается, что его изменение даст вам другие результаты. См.: github.com/dotnet/roslyn/blob/…