c# - 项目项模板 : where does Visual Studio specify dependencies?

标签 c# visual-studio

如此处所述http://davidhayden.com/blog/dave/archive/2005/11/05/2556.aspx可以自定义项目项模板。

但目前我只是尝试了解它是如何工作的。例如,我解压缩了 usercontrol 文件,在 usercontrol.vstemplate 中,我看不到 mycontrol.designer.cs 如何依赖于 mycontrol.cs,因为这在项目文件中显示为:

<DependentUpon>mycontrol.cs</DependentUpon>

有什么想法吗?

更新:此依赖项是否未在项目类型模板中指定?这比依赖 IDE 启发式规则更聪明,IDE 启发式规则相当有限,因为它只能识别 .Designer.cs,而不能识别 .MyCustom.cs。

用户控制.vstemplate:

<?xml version="1.0" encoding="utf-8"?>
<VSTemplate Version="3.0.0" Type="Item" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
  <TemplateData>
    <Name Package="{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}" ID="2295" />
    <Description Package="{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}" ID="2296" />
    <Icon Package="{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}" ID="4532" />
    <TemplateID>Microsoft.CSharp.WindowsFormsUserControl</TemplateID>
    <ProjectType>CSharp</ProjectType>
    <SortOrder>94</SortOrder>
    <RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
    <NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
    <DefaultName>UserControl.cs</DefaultName>
  </TemplateData>
  <TemplateContent>
  <References>
   <Reference>
    <Assembly>System</Assembly>
   </Reference>
   <Reference>
    <Assembly>System.Data</Assembly>
   </Reference>
   <Reference>
    <Assembly>System.Drawing</Assembly>
   </Reference>
   <Reference>
    <Assembly>System.Windows.Forms</Assembly>
   </Reference>
   <Reference>
    <Assembly>System.Xml</Assembly>
   </Reference>
  </References>

    <ProjectItem ReplaceParameters="true" SubType="UserControl">UserControl.cs</ProjectItem>
    <ProjectItem ReplaceParameters="true">UserControl.Designer.cs</ProjectItem>
  </TemplateContent>
</VSTemplate>

最佳答案

IDE 足够聪明,可以自己解决这个问题。在示例项目中尝试一下:项目 + 添加新项目、类,将其命名为 Foo.cs。重复,现在将其命名为 Foo.Designer.cs。请注意它如何自动成为 Foo.cs 的子项。名称中的“.Designer”部分很重要。

关于c# - 项目项模板 : where does Visual Studio specify dependencies?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4423348/

相关文章:

c# - "Invalid object name ' dbo.Memberships '."尝试添加新用户时

c# - Azure 配置的 APPINSIGHTS_INSTRUMENTATIONKEY 和 ApplicationInsights :InstrumentationKey? 有什么区别

c# - 缺少格式字符串参数不应该是编译时错误吗?

c# - 使用泛型类型的可空属性的泛型类

c# - 如何通过 3G 连接检查互联网连接状态?

javascript - 将 JQuery 转换为 addEventListener 用于按键事件

visual-studio - 调试 ASP.Net 应用程序时 Visual Studio 未启动浏览器

c++ - 为什么 Visual Studio Performance Profiler 不显示帧时间和 FPS 的任何内容?

visual-studio - Visual Studio 不断调整我的表单大小,而我没有告诉它,帮助!

c# - 如何在没有物理文件路径的情况下将文件附加到 TFS 中的工作项?