手动生成 VS 2005 .vcproj

Posted

技术标签:

【中文标题】手动生成 VS 2005 .vcproj【英文标题】:Generating VS 2005 .vcproj's by hand 【发布时间】:2011-06-22 10:59:44 【问题描述】:

我正在编写一个生成 Visual Studio 2005 C++ 项目文件 (.vcproj) 的脚本。

脚本读取一个 makefile,然后输出一个 c++ 项目。

INPUT:makefile ---> OUTPUT:VS 2005 c++ 项目 (.vcproj)

但是,当我尝试在 VS 2005 中构建自动生成的项目时,错误输出:“未指定的错误。” 显然,我没有正确生成 VS 2005 .vcproj 文件。

假设我的 c++ 项目文件格式错误,我打开 VS 2005 并创建了一个新的 C++ 项目。实际上,我将 VS 2005 创建的良好项目文件复制到了我的非工作、格式错误的项目文件中。我将 VS 2005 项目中的 Name、Reference Includes (.libs)、Compile Includes (.cc, .c) 等替换为格式错误的项目文件信息。

但是,我仍然无法让 VS 2005 编译我的 .vcproj。或许VS 2005对其.vcproj的内容很讲究?

请给我关于如何 的建议。

谢谢!

【问题讨论】:

【参考方案1】:

项目文件采用 MSBuild 格式,这是一种带有架构 (XSD) 的 XML 文件格式。您可以根据此架构验证您生成的文件。请按照此处的说明进行操作:

http://blogs.msdn.com/b/msbuild/archive/2005/11/04/489212.aspx

找到架构文件,然后使用您喜欢的工具架构验证工具来验证工具的输出。关于模式验证工具的讨论在这里:

XML Schema (XSD) validation tool?

【讨论】:

如果我理解正确,您建议我检查架构以确定什么是好的 .vcproj?谢谢 是的。模式基本上是一个语法定义。它说明了哪些元素可能出现在哪里以及哪些属性是允许的、可选的或强制性的。架构验证工具会根据此语法检查您的输入,并告诉您文件有什么问题以及在哪里。

以上是关于手动生成 VS 2005 .vcproj的主要内容,如果未能解决你的问题,请参考以下文章

VS2005中的生成解决方案, 清理解决方案是啥意思?

visual studio 2005 生成出来的exe无法执行??

VS2005发布生成网站时如何设置固定的dll文件名?

如何在不使用 vcproj 的情况下直接调试 wince exe

.net生成dll的问题

C#如何使用VS2005自动创建实体类?