已关闭,此问题需要更focused。它目前不接受回答。
**想改善这个问题吗?**更新问题,使其只关注editing this post的一个问题。
12天前关闭
Improve this question
我想在所有源代码文件中检测特定的单词或模式。例如,如果我想限制DateTime.Now在项目中使用,但如果某个团队成员在源代码中使用了它,我想使构建操作失败。
我不知道什么是正确的方法来做这件事,但我可以使用VS预构建事件同样?如果没有,那么有人可以指导我正确的道路,以满足我的要求?
已关闭,此问题需要更focused。它目前不接受回答。
**想改善这个问题吗?**更新问题,使其只关注editing this post的一个问题。
12天前关闭
Improve this question
我想在所有源代码文件中检测特定的单词或模式。例如,如果我想限制DateTime.Now在项目中使用,但如果某个团队成员在源代码中使用了它,我想使构建操作失败。
我不知道什么是正确的方法来做这件事,但我可以使用VS预构建事件同样?如果没有,那么有人可以指导我正确的道路,以满足我的要求?
2条答案
按热度按时间wz1wpwve1#
您可以通过在
PreBuildEvent
中输入类似PowerShell MyPowerShellScript.ps1
的命令来执行PowerShell脚本。脚本包括在所有源代码文件中搜索特定的单词或模式。请按照以下步骤操作。(示例)
备注:
让你的事件操作以非零(0)的代码退出。零退出代码表示操作成功;任何其它退出代码都被认为是错误。
2.输入类似
PowerShell MyPowerShellScript.ps1
的命令。在项目菜单上->单击{ProjectName}属性(或在解决方案资源管理器中,按Alt+Enter)->选择生成>事件。Visual Studio通过添加PreBuildtarget和必要的MSBuild代码来修改项目文件,以执行您提供的步骤。
3.构建项目并查看输出窗口。如果它在您的源代码文件中找到特定的世界(DateTime.Now),脚本将退出并返回代码1,构建将失败。
希望能帮到你。
wa7juj8i2#
这是一个手动的方法,但是你可以使用
Ctrl+Shift+F
来进行全局搜索,并将regex或DateTime放在你的示例中。