visual-studio-2010 - 如何让 Visual Studio 在 BeforeBuild 处理后重新读取源文件?

标签 visual-studio-2010 visual-studio visual-studio-2012

我编写了一个 C# 预处理器,通过使用 BeforeBuild MSBuild 目标调用它,我将其合并到我的 .csproj 项目中。这工作正常,除非预处理器修改了项目中的一个或多个 C# 源文件(很少发生),C# 编译步骤使用源文件的缓存版本。构建完成后,Visual Studio 提示我一条消息“filename-this-or-that This file has been modified outside of the source editor.Do you want to reload it?”。所以我必须回复是并重建项目以使其使用修改后的源文件。

是否有某种方法可以让 Visual Studio 检测到源文件已被修改并在其编译步骤中使用更新的版本?或者我应该以其他方式调用我的预处理器而不是使用 BeforeBuild 目标?

最佳答案

这不是最佳解决方案,但它是迄今为止我想到的最好的解决方案。

如此处所述http://social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/6c042390-0782-4afe-94be-9746d75f5d34/你可以放置

 <UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>

在 .csproj 文件中,这让 Visual Studio 使用“普通”C# 编译器,而不是使用缓存文件的“内部”编译器。这大概会降低性能,但我没有注意到它,也没有尝试对其进行测量。

并且,如此处所述http://startbigthinksmall.wordpress.com/2009/03/16/visual-studio-tipp-auto-refresh-file-changes/您可以让 Visual Studio 停止提醒您更新文件,只需重新加载它们即可。

我仍然更愿意找到一些方法来告诉 Visual Studio 更新它的缓存文件,然后调用它的内部编译器......

我将其标记为“答案”,但我仍然希望听到更好的可能性,如果发生这种情况,我将取消标记此问题。

关于visual-studio-2010 - 如何让 Visual Studio 在 BeforeBuild 处理后重新读取源文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9261599/

相关文章:

visual-studio - F# 项目静默更新我的引用

c++ - 将 float 转换为 wchar_t win32

winforms - 特殊文件夹 "Common Application Data Folder"在我的设置项目中不可用。为什么?

c# - 在 Visual Studio 中使用 SQL Server 存储过程

visual-studio-2010 - Visual Studio 2010 失败的测试引发异常

visual-studio - 如何填写 BabeLua 设置?

c# - 一个语句怎么可能同时有 = 和 ==?

c# - 如何获取 .csproj 文件中两个日期之间的差异?

visual-studio-2010 - 如何将 100 多个 Visual Studio 安装程序项目 (vdproj) 转换为 Wix 安装程序?

visual-studio - VS11-如何打开从扩展管理器下载的示例应用程序