在 Visual Studio 项目模板中添加引用?

2024-01-09

我正在为 VS2015 创建一个多项目模板,其中创建的项目之一引用另一个项目。如何使用模板添加参考?

如果我使用 VS GUI 添加引用,它会将以下内容添加到 .vcxproj 文件中:

<ItemGroup>
<ProjectReference Include="path\xyz.vcxproj">
<Project>{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}</Project>
</ProjectReference>

并且 GUID 是有效的,因为 VS 知道引用项目的 GUID。当我从模板创建新项目时,我不知道将为新创建的项目选择什么 GUID,因此我无法使用模板参数添加有效的 GUID。我可以轻松添加Include="..."部分正确,但我没有 GUID。

我找不到太多关于<ProjectReference>标签,但似乎需要一个有效的 GUID,留下<Project>标记出导致引用不起作用,如果我使用全零 GUID,也会发生同样的情况。


就我而言,我的主项目中有 2 个项目参考。它在 Visual Studio 2019、Net Core 3 中对我有用,如 @skaddy 答案,但在多次 Visual Studio 重新启动和最终机器重新启动后不起作用(这很糟糕)。

不同之处在于我不关心指导我只是让 Visual Studio 关心这一点。

Steps

  1. 在解决方案模板中,Root.vstemplate我设置了CopyParameters =“true”
    <ProjectTemplateLink ProjectName="$safeprojectname$.API" CopyParameters="true">
        APITemplate\MyTemplate.vstemplate
    </ProjectTemplateLink>
  1. 我确保主项目模板中存在 ReplaceParameters="true" (从一开始就是如此)。
    <TemplateContent>
        <Project TargetFileName="APITemplate.csproj" File="APITemplate.csproj" ReplaceParameters="true">
            ...
        <\Project>
        ...
    <\TemplateContent>
  1. 在主 .csproj 文件中,我查看引用并使用参数更改它们

由此

    <ItemGroup>
        <ProjectReference Include="..\Data\Data.csproj"/>
        <ProjectReference Include="..\Service\Service.csproj"/>
    </ItemGroup>

To this

    <ItemGroup>
        <ProjectReference Include="..\$ext_safeprojectname$.Data\$ext_safeprojectname$.Data.csproj"/>
        <ProjectReference Include="..\$ext_safeprojectname$.Service\$ext_safeprojectname$.Service.csproj"/>
    </ItemGroup>

同样,对我来说,这些参数在机器重新启动后才起作用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Visual Studio 项目模板中添加引用? 的相关文章

随机推荐

  • 为什么我们在渲染时必须清除OpenGL中的深度缓冲区?

    我试图运行 OpenGL 代码 但它没有GL DEPTH BUFFER BIT在 glClear 中清除 因此我无法渲染场景 我添加了这一点 场景就被渲染了 为什么需要使用这个清除位 我可能知道这样做的原因 以清除 GPU 之前使用的深度缓
  • 访问(传递给)django 模型信号方法,如 pre_save、pre_delete request.user?

    我必须跟踪我的模型发生的所有更改的历史记录 我还跟踪用户所做的更改 现在我正在处理views py 但我想使用django信号来利用这个功能 例如pre save pre delete对于每个模型 问题是 1 访问 request user
  • 使用事件过滤器消费事件

    首先 谁能向我解释一下 为什么我的MouseEvent无论哪个都会被消耗Alert 我选择的选项 我想这与调用有关Alert在一个EventFilter 但我还不清楚 public class EventFilterConsumeError
  • 是否可以在 sails.js / Waterline 中重命名 `createdAt` 和 `updatedAt`

    使用 SailsJS 中的 Waterline ORM 我的默认值是autoCreatedAt and autoUpdatedAt设置为 false 但我仍然需要仅使用不同的字段名称 DBA 请求 来实现该功能 有没有办法 为自动生成的字段
  • 使用套接字时“流结束”是什么意思

    在 Java 中使用套接字时 如何在开始处理数据之前判断客户端是否已完成所有 二进制 数据的发送 例如考虑 istream new BufferedInputStream socket getInputStream ostream new
  • Swift:替换字符串中的字符 - 没有 stringByReplacingOccurrencesOfString

    好吧 假设我有一个String like let myString my string hello 我想用 替换 我到目前为止 let characters map Array myString 0 0 它返回一个MapCollection
  • 缩放后为不同标签设置相同的字体大小

    我正在制作一个有 3 个标签的应用程序 我正在使用标签自动收缩来帮助调整标签的字体大小以适应设备 这些标签彼此相邻 因此这意味着我希望它们具有相同的字体大小 目前发生的情况是 因为它们有不同数量的文本 它们最终会缩小到不同的字体大小 有没有
  • 混淆 JavaFX 应用程序

    由于 fxml files 使用控制器类来处理事件 那么如何混淆 JavaFX 应用程序呢 当混淆的控制器类具有不同的名称和路径时 fxml 文件无法找到它们 混淆后编辑 fxml 文件不是我正在寻找的解决方案 还有其他选择吗 没有必要重新
  • OkHttp SSLHandshakeException SSL 握手中止 SSL 库中出现故障,协议错误

    04 23 17 17 38 434 21599 21956 D NativeCrypto ssl 0x0 NativeCrypto SSL interrupt 04 23 17 17 38 435 21599 21956 D OkHttp
  • 夏令时和 Cron

    如果 Cron 有一项工作安排在凌晨 2 点运行 另一项工作在凌晨 3 点运行 这些工作将如何受到夏令时的影响 当时间向后移动一小时时 时间是否会直接从凌晨 2 59 59 变为凌晨 2 00 00 这意味着凌晨 2 点的作业将运行两次 凌
  • 运行时设置 TextView 在 RemoteView 中的位置

    亲爱的大家 我正在尝试在应用程序小部件中设置 TextView 的位置 基本上 直接访问 TextView 的属性是有效的 myRemoteView setTextColor R id myTextView Color WHITE work
  • 检测鼠标被按住

    我试图检测何时按住鼠标而不是单击鼠标 这就是我所拥有的 但我希望能够检测到鼠标被按住 而不是点击计数 void mouseDown NSEvent event instead of clickCount I want my if state
  • 为什么 `'↊'.isnumeric()` 为 false?

    根据官方 Unicode 联盟代码表 http www unicode org charts PDF U2150 pdf 所有这些都是数字 然而 当我要求 Python 告诉我哪些是数字时 它们都是数字 甚至 除了四个 In 252
  • Postgres 中从多行到单列

    我通过 pgAdmin 4 使用具有只读访问权限的 Postgres 9 5 并且尝试编写一个选择查询来转换来自此表单的数据 username filters groups roles kd24 Khaled lt 27607 gt V1
  • 如何使用 SIMD 比较两个向量并获得单个布尔结果?

    我有两个分别包含 4 个整数的向量 我想使用 SIMD 命令来比较它们 假设根据比较结果生成一个结果向量 其中每个条目为 0 或 1 然后 我想将结果向量与 4 个零的向量进行比较 只有当它们相等时才执行某些操作 你知道我可以使用哪些 SI
  • 如何根据对象的属性比较两个 NSSet?

    我有两个 nsset nsset1 person id 1 person id 2 person id 3 nsset2 person id 1 person id 2 结果应该是 nsset1 nsset2 person with id
  • 在自己的 php 框架中管理 URL 路由

    我正在创建一个 PHP 框架 但我有一些疑问 框架以这种方式获取 url http web com site index 它采用第一个参数来加载控制器 site 然后加载特定的动作 index 如果您已将框架安装在基本 URL 中 则可以正
  • 如何在 Cypress.io 中强制测试失败

    在 Cypress io 中 如果满足特定条件 有没有一种方法可以强制测试失败 例如 在我的网页上 如果字符串 抱歉 出了点问题 出现在我希望测试失败的页面上 目前这就是我正在做的事情
  • 有什么方法可以知道哪个集合视图单元格位于特定点?

    我有一个 CGPoint 我想知道我的集合视图中的哪个单元格当前包含该点 有什么简单的方法可以做到这一点还是我必须编写自己的方法 我没用过UICollectionView就这么多 但有一个看起来很完美的方法 NSIndexPath inde
  • 在 Visual Studio 项目模板中添加引用?

    我正在为 VS2015 创建一个多项目模板 其中创建的项目之一引用另一个项目 如何使用模板添加参考 如果我使用 VS GUI 添加引用 它会将以下内容添加到 vcxproj 文件中