我最近的任务是升级现有的Visual Studio 2005 / SharePoint 2007 Web部件以使用Visual Studio 2015 / SharePoint 2013。
原始解决方案使用部署项目(2015年不再支持)来创建包含用户控件(ascx)及其支持文件的webpart,这些文件部署在单个DLL中。
我遇到的问题是webpart源文件,其中包含对用户控件的引用:
protected override System.Web.UI.Control GetApplicationControl()
{
return new ASP.transcriptlandingview_ascx();
}
哪会产生错误:
找不到类型或命名空间名称'ASP'(你错过了吗? 使用指令或汇编引用?)
命名空间ASP似乎与部署项目相关联,但我无法找到有关此问题的任何文档。
是否有与Visual Studio 2015发布工具相同的ASP命名空间?或者更好的参考控制方式?
答案 0 :(得分:0)
我建议您为SharePoint 2013创建新的Web部件,然后将逻辑代码从旧的Web部件迁移到新的Web部件。
答案 1 :(得分:0)
尽管不再支持部署项目,但是“发布”向导仍包含要部署到单个DLL的功能。在解决方案资源管理器中,右键单击该项目,然后选择“发布...”以启动向导。
在连接页面上,将发布方法设置为文件系统,然后输入目标路径。
在设置页面上,从文件发布选项中选择发布过程中的预编译,然后点击配置链接
Publish Wizard - Settings page
Publish Wizard - Configuration Page
选择将所有输出合并到单个程序集中,然后输入部署URL的名称。
发布项目。将对部署URL的引用添加到Webpart项目中,然后Hey Presto,您可以访问ASP名称空间!