当您构建的解决方案缺少文件(带有感叹号的黄色三角形图标),而这些文件确实会导致编译错误时,Visual Studio是否有办法报告错误/警告?例如在运行时读取的丢失的配置文件。
谢谢
发布于 2011-09-10 14:44:35
您需要定义一个EnvironmentEvents macro。有关如何执行此操作的一般描述,请参阅此处:Customize Your Project Build Process。
下面是您可以直接粘贴到宏环境中的代码,用于检查缺少的文件:
Private Sub BuildEvents_OnBuildBegin(ByVal Scope As EnvDTE.vsBuildScope, ByVal Action As EnvDTE.vsBuildAction) Handles BuildEvents.OnBuildBegin
For Each proj As Project In DTE.Solution.Projects
For Each item As ProjectItem In proj.ProjectItems
If (item.Kind <> "{6BB5F8EE-4483-11D3-8BCF-00C04F8EC28C}") Then ' only check physical file items
Continue For
End If
For i As Integer = 1 To item.FileCount
Dim path As String = item.FileNames(i)
If Not System.IO.File.Exists(item.FileNames(i)) Then
WriteToBuildWindow("!! Missing file:" & item.FileNames(i) + " in project " + proj.Name)
End If
Next
Next
Next
End Sub
Public Sub WriteToBuildWindow(ByVal text As String)
Dim ow As OutputWindow = DTE.Windows.Item(EnvDTE.Constants.vsWindowKindOutput).Object
Dim build As OutputWindowPane = ow.OutputWindowPanes.Item("Build")
build.OutputString(text & Environment.NewLine)
End Sub它将直接在Visual Studio的"Build“输出窗口中显示"missing file”文本。它应该相当容易理解和调整到您的需求。例如,可以将错误添加到错误输出中。
https://stackoverflow.com/questions/3145469
复制相似问题