【问题标题】:Visual Studio 2012 auto-generated code conflicting with application codeVisual Studio 2012 自动生成的代码与应用程序代码冲突
【发布时间】:2012-09-21 11:42:36
【问题描述】:

我对使用 VS2012 真的很陌生,但是我遇到了一个非常大的问题,那就是使开发变得不可能。每次我更改一些代码时,都会与 VS2012 自动生成的用于调试的代码发生冲突( project\obj\Release\filename.g.i.css )。就像有源文件的幽灵副本,VS2012 将它们作为项目文件拾取并导致大量声明错误(因为它检测到它们在两个地方声明,即使它在技术上是同一个文件)。

所以如果我更改 Main.xaml.cs 并保存,VS2012 会生成 Main.gicss,告诉我源文件已在 VS2012 之外更改,并且 Main.gicss 充满了一堆我没有放的代码在那里,这是它的源代码的顶部:

此代码是由工具生成的。 运行时版本:4.0.30319.17929 对此文件的更改可能会导致不正确的行为,并且会在以下情况下丢失 代码被重新生成。

我已经在选项中关闭了文件自动重新加载。

【问题讨论】:

    标签: c# .net visual-studio-2012


    【解决方案1】:

    不要将*.g.* 文件添加到 Visual Studio 项目中。它们会自动包含在构建过​​程中,这可能是您看到重复和冲突的原因。

    【讨论】:

    • 啊,我明白了,感谢您的快速回复。我怎样才能让构建过程不添加这些文件?
    • 默认情况下不应添加它们。检查obj文件夹及其内容是否包含在项目中。如果是这样,请将它们删除。
    • 不,它们肯定不包含在项目中,至少它们没有出现在解决方案资源管理器中。
    • 也许创建一个新项目并读取所有文件或其他内容。不知何故,.g. 文件在不应该包含的情况下被包含在内。
    • 我已经完成了几个项目,但无论如何最终都会出现问题。
    【解决方案2】:

    我记得也遇到过这个问题。我认为点击 Build -> Clean 和删除 obj/ 文件夹的组合最终解决了我的问题。

    【讨论】:

    • 我试了一下,但没有成功。 VS2012 仍然认为 .g.文件是我项目的一部分,并引用了这些文件的错误/冲突。
    猜你喜欢
    • 1970-01-01
    • 2011-06-20
    • 2017-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-07
    • 2012-10-05
    • 1970-01-01
    相关资源
    最近更新 更多