2017-02-01 40 views
0

我知道這個問題沒有完全意義,因爲我不是在Visual Studio中構建的。我試圖通過Veracode提交我的二進制文件的靜態分析,和我建立使用msbuild如何通過msbuild關閉編輯並繼續(對於Veracode)

msbuild coop.sln /p:Configuration=Debug /p:Platform=x64 /p:LinkIncremental=false 

我可以通過工具>選項>調試>編輯我的Visual Studio環境中關閉這個功能並繼續,然後取消選中「啓用編輯並繼續」。但是,這似乎並不影響解決方案文件。

我從Veracode收到關於使用編輯&繼續上傳產生的二進制文件的警告。我覺得必須有一個選項來通過msbuild禁用該配置。

幾個相關的帖子沒有完全解決這個問題:

如何禁用編輯並通過msbuild繼續任何想法?

+0

更改/ ZL在調試配置一些其他的調試設置或創建無新的配置/ Zl另請參閱https://msdn.microsoft.com/en-us/library/958x11bc.aspx –

+0

靜態代碼分析器通常不需要驗證調試版本。他們非常關心您要發送給客戶的代碼。發佈版本。 –

回答

0

有兩種方法可以做到這一點。最簡單的方法是在發佈配置中構建項目。默認的發佈屬性設置爲使用普通的調試信息構建(即不是編輯和繼續)。

另一個解決方案是,如果你必須有一個沒有編輯和繼續的調試二進制文件,你將不得不修改所有的項目。添加以下代碼段爲所有的項目,地方靠近.vcxproj文件的末尾,Microsoft.Cpp.props導入後:

<ItemDefinitionGroup> 
    <ClCompile> 
    <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> 
    </ClCompile> 
</ItemDefinitionGroup>