我正在处理自定义MSBuild任务,以调用现有的源生成工具来重新格式化错误输出,以便它与Visual Studio的文件名和行号期望匹配。我的工作是这样的:如果我(从命令行或在VS本身内)构建项目,则我的自定义任务会运行,并且在VS内部进行构建的情况下,构建窗口的输出是我想要的。
但是,Visual Studio项目资源管理器实际上并未显示输入文件。我已经添加了AvailableItemName和PropertyPageSchema项目,还向工具->选项,“项目和解决方案”->“ VC ++项目设置”,“要包括的扩展名”添加了文件扩展名,甚至尝试更改“源代码”的扩展名列表我的测试项目中的“文件”组。我还想念什么?
这是我的.targets文件(我添加了一个.user.props(在意识到XML存在问题后进行了更新,但修复并未解决解决方案资源管理器问题)
<?xml version="1.0" encoding="utf-8"?>
<ProjectSchemaDefinitions
xmlns="http://schemas.microsoft.com/build/2009/properties"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<ItemType
Name="ToolName"
DisplayName="Tool" />
<ContentType Name="ToolName" DisplayName="Tool Name" ItemType="ToolName">
</ContentType>
<FileExtension Name=".<ext>" ContentType="ToolName">
</FileExtension>
<Rule Name="ToolName" PageTemplate="tool" DisplayName="Tool" Order="5">
<Rule.Categories>
<Category Name="General" DisplayName="General" />
</Rule.Categories>
<Rule.DataSource>
<DataSource Persistence="ProjectFile" ItemType="ToolName" Label="" HasConfigurationCondition="true" />
</Rule.DataSource>
<StringProperty Name="OutputFile" DisplayName="Output File" Description="Names the produced output file" Category="General"/>
<StringProperty Name="HeaderFile" DisplayName="Header File" Description="Names the produced header file" Category="General"/>
<StringProperty Name="ReportFile" DisplayName="Report File" Description="Names the produced report file" Category="General"/>
</Rule>
</ProjectSchemaDefinitions>
答案 0 :(得分:0)
好的,我能够找出问题所在,这是我在编辑中修复的XML问题的组合,然后需要重新启动VS,而不仅仅是重新加载测试项目。重新启动(针对不相关的内容)后,我的文件现在显示在解决方案资源管理器中,并正确地参与了依赖项解析(这是我要问的问题,在解决UI问题后,我是否仍然遇到问题)。