如何停止Visual Studio缓存导入的MSBuild脚本?

3
我有一个csproj文件,它引用了一个带有<Import>指令的共享MSBuild脚本。我注意到当我更改共享脚本时,我需要关闭并重新打开Visual Studio才能注意到更改 - 在Visual Studio中构建会注意到csproj文件的更改,但是不会注意到共享文件的更改。
当我使用命令行中的MSBuild构建项目时,这种情况不会发生。Visual Studio是否缓存导入的脚本?如果是,为什么?我如何关闭这种行为,使使用Visual Studio编写构建脚本变得困难/不可能?
谢谢!
2个回答

0

如果你尝试过关闭并重新打开Visual Studio,那么不妨试一下卸载和重新加载导入共享脚本的项目(.csproj)吧?在Visual Studio中,你可以通过右键单击已加载项目并选择卸载,然后再右键单击已卸载项目并选择加载来完成此操作。


1
谢谢Sayed!不过这样还是没什么改善。你认为为什么VS会这样做呢?这很令人惊讶,也非常不方便。 - Pete Montgomery
为了提高性能。在大多数情况下,导入的文件不会改变。 - Sayed Ibrahim Hashimi
卸载项目会导致其他项目中对该项目的引用被删除或产生其他副作用吗? - goneskiing
@goneskiing 它不应该有那些副作用。 - Sayed Ibrahim Hashimi

0
在我的经验中,Visual Studio 2015比Visual Studio 2008表现更好。 对于C#项目,VS在大多数情况下都会检测到导入文件的更改。 但对于其他项目类型,可能会有所不同。
虽然解决方案资源管理器不会反映更改,但生成过程会使用更新后的导入文件版本。
因此,解决方案可能是使用更高版本的Visual Studio。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接