【问题标题】:How can I avoid "clean+build" instead of just "build" in my VS2012 solution?如何在我的 VS2012 解决方案中避免“clean+build”而不是“build”?
【发布时间】:2013-11-12 15:35:01
【问题描述】:

我正在使用 DirectX (SharpDX) 编写着色器。问题是,我注意到每次更改着色器(.fx 文件)中的某些内容时,我都需要清理并构建。有什么办法可以避免这样做吗?在我进行一些更改之前,看起来“构建”足以应用更改......例如。如果我要为一条线返回红色。我可以将颜色更改为绿色,构建,我仍然会看到它是红色的。如果我清理+构建,我会看到更改(绿色线)。

我认为这可能与一些缓冲区清理有关,但我不确定。

非常感谢您的任何想法。

【问题讨论】:

    标签: visual-studio-2012 build directx buffer directx-11


    【解决方案1】:

    如果我没记错的话,着色器编译器正在出现并将您的着色器编译为 .fxc 字节码。我相信 Visual Studio 不会跟踪对“外部文件”(即不是 C#/C/C++/任何代码文件)的更改,所以当程序运行时,它会抓取已经编​​译的 .fxc 代码,它没有新的变化。清理它会删除那些预编译的文件,从而触发重新编译。解决此问题的最简单方法是在项目属性中添加自定义构建步骤,以手动在着色器上运行 DirectX 着色器编译器 (fxc.exe)。你会失去漂亮的属性页的东西(假设你首先使用它们),但是任何时候你编译你的项目,它都会重新编译你的着色器。

    【讨论】:

    • 好吧,我想这解释了为什么我对“构建”没有任何问题(也许当我主要在处理 .cs 文件时)现在我必须一直重建(因为我m 主要处理我的 .fx 文件)。谢谢!!
    猜你喜欢
    • 2023-02-02
    • 2015-05-15
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-26
    • 1970-01-01
    相关资源
    最近更新 更多