Fortify пытается найти сборки .NET и кэшировать их. Он ищет Visual Studio в реестре Windows, чтобы найти версию .NET, которую он должен использовать.
Вы должны использовать -vsversion
, чтобы указать версию Visual Studio, который был использован при создании кода .NET:
VS2005 = 8,0
VS2008 = 9,0
VS2010 = 10,0
VS2012 = 11.0
VS2013 = 12,0
VS2015 = 14,0
Если это не сделать это, используйте:
-Dvs.<VS Ver w/o the .>.dotnet.clr.version=<CLR version>
Например, VS2012:
sourceanalyzer -b MyProj -vsversion 11.0 <your translation args>
или :
sourceanalyzer -b MyProj -vsversion 11.0 -Dvs.110.dotnet.clr.version=v4.0.30319
Здесь все VS "резервный" арг:
-Dvs.110.dotnet.clr.version=v4.0.30319
-Dvs.100.dotnet.clr.version=v4.0.30319
-Dvs.90.dotnet.clr.version=v2.0.50727
-Dvs.80.dotnet.clr.version=v2.0.50727
-Dvs.71.dotnet.clr.version=v2.0.50727
Спасибо, что фиксированное это. Теперь просто нужно исправить ошибки парсера :( – user1167777
Если у вас есть особенности, вы можете поделиться, задать другой вопрос, и мы можем решить проблемы. –
Этот совет по-прежнему работает с Fortify 4.21? Я использую Visual Studio 2013 с .NET 4.5 и попытался использовать ** - vsversion 12.0 -Dvs.112.dotnet.clr.version = v4.5.50938 ** вместе с точными строками, копируемыми/вставленными из вашего ответа. Каждый раз, когда я получаю сообщение об ошибке **, свойство vs.112.dotnet ... ** недействительное свойство. – jrk