【问题标题】:Will VS2008 puke if I add extra "non standard" targets to a .csproj file?如果我向 .csproj 文件添加额外的“非标准”目标,VS2008 会呕吐吗?
【发布时间】:2009-06-12 04:34:06
【问题描述】:
Visual Studio 是否会因自定义 .csproj 文件而窒息?
例如,我想添加一个 Target 来更新所有 AssemblyInfo.cs 文件中的版本号。我计划使用 MSbuild 从命令行调用它。
作为另一个例子,我想将构建时间戳包含在编译中,like so。这将是一个预编译步骤(我猜),与上面的示例不同,这将在 Visual Studio 内部的构建中运行。
VS 可以接受吗?
【问题讨论】:
标签:
visual-studio
visual-studio-2008
msbuild
【解决方案1】:
只要代码是有效的 MSBuild 扩展,Visual Studio 就应该能够处理它。在引擎盖下,项目文件实际上只是 MSBuild 文件,MSBuild 完成了 VS 构建系统的脏活。因此,只要该文件仍然是有效的 MSBuild 文件,它就可以了。
【解决方案2】:
是的,它确实允许自定义。我们以这种方式将 FxCop 与我们的发布模式构建集成。
当你在编辑完项目文件后第一次加载时它会报错,说“它被篡改了,你想继续加载吗?”只需点击“是”并继续您的快乐方式。它还允许您选中一个框以忽略解决方案中的其余项目以获得相同的警告。