【发布时间】:2016-07-08 20:48:09
【问题描述】:
是否有通用命令可用于使用 SCA 查找 Fortify 翻译所需的所有文件并在命令行上翻译 .NET 项目?
如果我在翻译别人的项目,我可以用吗,
sourceanalyzer -b "Build ID" devenv BuildID.sln /Rebuild Debug
安装了最新的 Visual Studio 并期望它能正确翻译所有项目?
【问题讨论】:
是否有通用命令可用于使用 SCA 查找 Fortify 翻译所需的所有文件并在命令行上翻译 .NET 项目?
如果我在翻译别人的项目,我可以用吗,
sourceanalyzer -b "Build ID" devenv BuildID.sln /Rebuild Debug
安装了最新的 Visual Studio 并期望它能正确翻译所有项目?
【问题讨论】:
可以,只要您要翻译的项目可以在该计算机上编译即可。
如果您确实遇到问题,这通常与该机器上使用该版本的 Visual Studio 的目标项目有关。
一个简单的检查是从命令行运行devenv BuildID.sln。您希望 Visual Studio 打开并且没有弹出对话框(源代码控制是我看到的一个常见的)。一旦它可以在没有任何对话框弹出的情况下打开,接下来确保重建或清理/构建将成功发生。
根据评论更新:
对于已编译代码的通用扫描,您可以:
sourceanalyzer -b mybuild -vsversion 14.0 -libdirs **/* **/*
您可以从项目的基本文件中运行它。
-libdirs **/* 应指定系统和第三方 .dll 的位置。 (Fortify 将自动检查 Microsoft 系统 dll 的标准位置。使用正确版本的 vsversion 运行它(需要在机器上)Fortify 应该能够找到 ildasm.exe,但如果找不到,请在指向 ildasm.exe 的命令中添加以下选项
-Dcom.fortify.sca.IldasmPath=C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\ildasm.exe
【讨论】:
**/**/*.dll 或 **/*.dll 这样的东西来查找所有 .dll 文件吗?
**/*.dll 将在当前目录和子目录中查找所有 dll。
您可以将 OS 管道命令与 Fortify Translation 命令一起使用,它将在文本文件中打印所有已翻译的 dll,即
Fortify 翻译命令 >> directory_path
但你仍然必须使用 sourceanalyzer.exe 的翻译命令
【讨论】: