gpt4 book ai didi

asp.net-mvc - 添加为 View 的链接智能感知

转载 作者:行者123 更新时间:2023-12-02 00:31:01 25 4
gpt4 key购买 nike

我尝试使用 VS2015 中的“添加为链接”功能在项目之间共享一些 View ,但链接的 View 在 VS 中显示为损坏,即使它在网站上运行良好。

有没有办法让智能感知和“转到定义”等功能适用于链接 View ?

我可以用新的解决方案/项目重现这个:

  • 将 Home/Index.cshtml 移动到其他文件夹(目前我正在使用解决方案文件夹,但将文件移动到哪里似乎并不重要)
  • 从主页/删除 Index.cshtml
  • 从主页/右键单击并“添加现有项目”
  • 从解决方案文件夹中选择 Index.cshtml,但从下拉按钮中选择“添加为链接”
  • 在链接的 Index.cshtml 上选择属性“复制到输出目录 = 始终复制”

该网站可以正常工作,但在 VS2015 中, View 会出现损坏,并且智能感知不起作用。

这将是跨多个项目共享 View 的好方法,但如果 VS 认为 View 已损坏,那么开发就会变得很痛苦。

有什么建议吗?有没有更好的方法来跨项目分享 View ?

最佳答案

这是我让它发挥作用的痛苦方法:

  1. 卸载解决方案
  2. 创建包含我要复制的 View 的项目之一的副本。我们将新项目命名为 [SharedItems]。
  3. 重命名 .csproj 文件并手动编辑 .csproj 文件,并将旧名称替换为新名称(可能是可选的,但使事情变得更容易)
  4. 加载解决方案并添加新项目。
  5. 删除您不需要的所有文件。
  6. 重命名新项目中的命名空间。
  7. 构建只是为了确保其正常工作并且 Intellisense 正常工作。
  8. 删除原始项目中要链接的文件并创建链接。
  9. 在所有原始项目上安装了 MSBuild.WebApplication.CopyContentLinkedFiles NuGet 包,以自动制作链接文件的物理副本。

现在我可以在模板化项目中进行所有编辑,而无需在各处维护多个副本。

两大缺点:

  • 我必须在编辑任何链接对象后进行构建,然后才能看到更改。
  • 我只需打开 [SharedItems] 项目中的实际 .cshtml 文件。打开链接文件会破坏 Intellisense,直到您关闭它并直接打开它。这对于 Resharper 的 Search Everywhere 功能来说尤其烦人,因为它会建议链接文件。

关于asp.net-mvc - 添加为 View 的链接智能感知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41511770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com