【发布时间】:2011-12-14 13:49:49
【问题描述】:
背景:
我们在 .NET C# 解决方案中使用了第 3 方工具。该工具有自己的语法并与 Visual Studio 集成。当我们使用这个工具时,我们在 Visual Studio 中编写它的标记,然后当我们构建解决方案时,自定义工具会运行并根据我们编写的标记生成一个 .cs 文件。
这个生成的源文件包含一个版本号,当我们将它们签入版本控制时会导致问题(无尽的冲突)。我们的理解是,最好不要签入生成的源文件。
所以我们从 SVN 中排除了生成的 .cs 文件,然后我们遇到的下一个问题是 Visual Studio 解决方案引用了这些文件,所以当 TeamCity(我们的持续构建/集成软件)去构建解决方案时,它会由于找不到这些文件,因此立即失败。
然后我们从解决方案中删除了这些,并将它们从 SVN 中排除,这解决了最初的问题,我们不再检查生成的代码并且它在 TeamCity 中构建良好(因为每次构建都会重新生成文件)。
我们现在有一个新问题 - 由于生成的文件不再包含在解决方案中,智能感知和代码检查失败,因为找不到生成的类。解决方案构建得很好(同样代码在构建过程中重新生成)。
问题
有没有办法告诉 ReSharper 在其代码检查中包含生成的 .cs 文件?这些文件在解决方案之外,但它们位于 obj 目录中。
干杯,
泰勒
【问题讨论】:
-
您不能将文件保留在解决方案中,并添加一个预构建步骤以生成一个空的 .cs 文件(如果它不存在)吗?这将使构建保持愉快。我在我们的项目中对包含开发人员可覆盖的数据库连接字符串的文件使用了类似的技术。如果有帮助,我有一些示例 MSBuild 目标。
-
嗨,RichTea,听起来不错,如果可能的话,我很想看看你的样品?
标签: c# visual-studio-2010 code-generation resharper intellisense