我正在使用Microsoft的Visual Studio 2015 Community Edition(和here)测试免费和开源软件,以确保与编译器和工具的兼容性。 30天的试用期已经过期,所以我需要在命令行工作,因为在告诉我试用期已过期后IDE存在:
当我尝试从命令行运行msbuild
时,我收到了几个顶级错误:
Test> msbuild cryptest.sln
Microsoft (R) Build Engine version 14.0.23107.0
Copyright (C) Microsoft Corporation. All rights reserved.
Building the projects in this solution one at a time. To enable parallel build,
please add the "/m" switch.
Build started 9/7/2015 7:58:54 AM.
Project "...\cryptest.sln" on node 1
(default targets).
ValidateSolutionConfiguration:
Building solution configuration "Debug|Win32".
MSBUILD : error MSB3428: Could not load the Visual C++ component "VCBuild.exe".
To fix this, 1) install the .NET Framework 2.0 SDK, 2) install Microsoft Visua
l Studio 2005 or 3) add the location of the component to the system path if it
is installed elsewhere. [...\cryptest.sln]
Done Building Project "...\cryptest.sln" (default targets) -- FAILED.
Build FAILED.
"...\cryptest.sln" (default target)
(1) ->
(cryptlib target) ->
MSBUILD : error MSB3428: Could not load the Visual C++ component "VCBuild.exe
". To fix this, 1) install the .NET Framework 2.0 SDK, 2) install Microsoft Vis
ual Studio 2005 or 3) add the location of the component to the system path if i
t is installed elsewhere. [...\cryptest.sln]
0 Warning(s)
1 Error(s)
上述问题是由于下层(Visual Studio 2008)解决方案和项目文件造成的。
官方文档位于How to: Upgrade Visual C++ Projects to Visual Studio 2015,但该页面未讨论从命令行升级解决方案。
根据Visual Studio 2010 C++ Project Upgrade Guide的VC ++团队博客,VCUpgrade.exe
位于$(VSInstallDir)\common7\Tools
。但是:" ... [VCUpgrade.exe仅适用于升级只有一个项目的应用程序,因为它无法将解决方案文件作为输入并将解决方案信息解析为项目文件。"
我还在Building Applications that Use the Windows SDK找到了将项目升级到Visual C ++ 2010 。它告诉我使用devenv.exe /upgrade
。当我按照其说明操作时,会产生以下结果。没有错误,但没有转换(并且没有创建日志文件)。
!! From VS2015 Developer Command Line Prompt
cryptopp-5.6.3>devenv.exe /upgrade
cryptopp-5.6.3>dir *.vcproj *.vcxproj
...
09/07/2015 10:36 AM 81,845 cryptdll.vcproj
09/07/2015 10:36 AM 40,168 cryptest.vcproj
09/07/2015 10:36 AM 205,529 cryptlib.vcproj
09/07/2015 10:36 AM 8,885 dlltest.vcproj
尝试使用VCupgrade.exe
(即使根据Microsoft文档提供的解决方案不完整)会导致:
cryptopp-5.6.3>vcupgrade cryptest.vcproj
Microsoft (R) Visual C++ Project Convert Utility - Version 14.00.23107
Copyright (C) Microsoft Corporation. All rights reserved.
Failed to initialize the VCProjectEngine.
如何将解决方案和项目文件从早期版本的Visual Studio转换为Visual Studio 2015?
还有一些类似的问题,但他们没有覆盖命令行,其中包含"无法初始化VCProjectEngine" 和[原因不明]即将到期的审判。例如,请参阅Upgrade a visual studio solution on the command line with visual studio express。
幽默地(以一种病态的方式),Microsoft称Visual Studio 2015社区为免费开发工具,并未在Overview of Visual Studio 2015 Products或Visual Studio Community页面上声明其即将到期的试用版。事实上,微软告诉我们它的全功能和免费的开源项目(这个项目是)。
我猜微软撒谎,律师把它埋在某个地方的服务条款中。更幽默,没有"试验"也没有"到期"也被称为或在服务条款中提及。请参阅Microsoft的Visual Studio Community license terms。
不是那么幽默,我在审核了微软的营销文献后拒绝了一份Visual Studio Professional,因为我 思考 社区版会满足该项目的需要。的需要。我希望这不会是500美元的错误......
答案 0 :(得分:4)
似乎最好(也是最受支持的)选择可能只是sign-in with a Microsoft account,因此您可以使用免费的Community Edition许可。这将允许您使用预期/经过良好测试的升级过程打开开发环境并升级解决方案。
答案 1 :(得分:2)
这不能解答您的所有问题,因为我认为第一个问题需要解决,以测试您是否需要答案来升级您的项目。
随着时间的推移,我有类似的错误消息。看到这个答案 - Visual Studio 2013 Community weird errors虽然这讨论了VS2013,但同样的原则也适用。
Visual Studio Community Edition is free。(与MS提供的快递版本非常相似)
These are the license rights you have.
MICROSOFT软件许可条款
MICROSOFT VISUAL STUDIO COMMUNITY 2015
这些许可条款是Microsoft Corporation(或 根据您居住的地方,其中一个附属公司)和您。他们申请 上面提到的软件。这些条款也适用于任何Microsoft 软件的服务或更新,除非有这些服务或更新 不同的条款。
如果您遵守这些许可条款,则您拥有以下权利。
安装和使用权利 个人执照。
如果你是一个 个人致力于您自己的应用程序出售或任何其他 目的,您可以使用该软件来开发和测试那些 应用
我建议卸载VS和任何相关的依赖项。从我提供的其中一个链接下载VS2015 CE并从该exe重新安装。允许VS配置安装及其依赖项。
对于试用期到期,它让我觉得你没有下载CE。这就是我建议全新下载的原因。
此外,如果您无法通过打开它的快捷方式来运行VS,那么您将无法从命令行运行它。
启动并运行后,查看升级的方式。另外,请记住,如果您有任何关于缺少依赖项的错误,请下载它们。
希望这对一些人有所帮助,我看到它即将到期,你没有答案。