加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 添加为视图的链接intellisense

发布时间:2020-12-16 09:32:39 所属栏目:asp.Net 来源:网络整理
导读:我试图通过使用VS2015中的“添加为链接”功能来共享项目中的一些视图,但链接视图在VS中显示已破坏,即使它在网站上正常工作. 有没有办法获得像intellisense和“去定义”这样的功能为链接视图工作? 我可以用一个新的解决方案/项目重现这个: 将Home / Index.c
我试图通过使用VS2015中的“添加为链接”功能来共享项目中的一些视图,但链接视图在VS中显示已破坏,即使它在网站上正常工作.

有没有办法获得像intellisense和“去定义”这样的功能为链接视图工作?

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

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

该网站将正常工作,但在VS2015中,视图显示已损坏,并且没有智能感知功能.

这将是一个跨多个项目共享视图的好方法,但如果VS认为视图被破坏,则会产生痛苦.

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

解决方法

这是让我付诸实践的痛苦方式:

>卸载解决方案
>创建包含我要复制的视图的项目之一的副本.让我们调用新项目[SharedItems].
>重命名.csproj文件并手动编辑.csproj文件,并用新名称替换旧名称(可能是可选的,但更容易)
>加载解决方案并添加新项目.
>删除不需要的任何文件.
>重命名新项目中的命名空间.
>构建只是为了确保它正常工作并且Intellisense正常工作.
>删除要在原始项目中链接的文件并创建链接.
>在所有原始项目上安装MSBuild.WebApplication.CopyContentLinkedFiles NuGet包,以自动生成链接文件的物理副本.

现在,我可以在模板化项目中进行所有编辑,而无需在任何地方保留多个副本.

两大缺点:

>在我看到更改之前,我必须在对任何链接对象进行编辑后进行构建.>我必须仅在[SharedItems]项目中打开实际的.cshtml文件.打开链接文件会中断Intellisense,直到您关闭它并直接打开它.这对Resharper的Search Everywhere功能尤其令人讨厌,因为它建议链接文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读