请教,VS编译问题,怎么解决 vs C++编译由于GUID原因导致每次编译结果不一致问题

请教,VS编译问题,怎么解决 vs C# 编译由于GUID原因导致每次编译结果不一致问题

这个应该是代码问题吧?这情况包含好多原因的

源码没变,编译器处理的原因

https://ask.csdn.net/questions/225142?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161968669616780264054513%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161968669616780264054513&biz_id=4&utm_medium=distribute.pc_search_result.none-task-ask_topic-2~all~first_rank_v2~rank_v29-8-225142.first_rank_v2_pc_rank_v29&utm_term=VS++%E7%BC%96%E8%AF%91%E4%BA%8C%E8%BF%9B%E5%88%B6%E4%B8%80%E8%87%B4

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

楼主研究下Deterministic参数试试

默认情况下,一组给定输入的编译器输出是唯一的,因为编译器会添加时间戳和随意数字生成的 MVID。 使用 <Deterministic> 选项生成确定性的程序集,只要输入保持不变,该程序集的二进制内容在整个编译中都是相同的 。 在此类生成中,时间戳和 MVID 字段会被替换为从所有编译输入的哈希派生的值

参考

https://docs.microsoft.com/zh-CN/visualstudio/msbuild/csc-task?view=vs-2019

https://docs.microsoft.com/zh-CN/dotnet/csharp/language-reference/compiler-options/code-generation

各位抱歉,工程包含C++和C#,C#通过修改配置解决了,C++还没解决(工具是VS2017)

https://blog.csdn.net/u011033906/article/details/88401094

从Visual Studio 2015(Roslyn 1.0)开始 ,V就支持 Deterministic 编译,可以参考下面的文档。

https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/deterministic-compiler-option

C && C++

VS 中 C/C++ Deterministic 编译暂时不支持,目前产品组计划在 VS2017 Update 8 中开始提供 determinism 功能

 

手头只允许用2017