SharePoint 2010 VS开发:用于ASPX文件的Intellisense

时间:2010-12-07 15:10:33

标签: sharepoint visual-studio-2010 sharepoint-2010 intellisense

我正在使用Visual Studio 2010开发SharePoint Server 2010解决方案。其中一部分包括自定义页面布局,但在编辑它们时,智能感知完全被破坏,因为Visual Studio似乎不知道如何处理它们。这就是我所做的:

  1. 创建了一个新的空白解决方案
  2. 右键单击解决方案并创建一个新的“空SharePoint项目”
  3. 右键单击项目并创建一个新的“模块”
  4. 将sample.txt重命名为MyPageLayout.aspx 创建新的ASPX Web表单
  5. 此时,新页面布局的智能感知被破坏了。使用ReSharper等工具会变得更糟。此外,“格式文档”之类的内容会破坏页面布局(例如,将asp:Content更改为asp:content

    我试图让intellisense工作:

    1. 从标准Web应用程序项目添加了一个Web.config到SharePoint项目的根目录 - 没有任何区别。
    2. 将Web应用程序项目的ProjectGuid添加到SharePoint项目文件中 - 打破了项目。
    3. 有没有办法获得intellisense,以及Visual Studio可以为Web窗体提供的其他支持,在开发SharePoint 2010页面布局时可用?

4 个答案:

答案 0 :(得分:1)

我已经在某种程度上关注了你的帖子。

使用VS2010(在x64机器上)

  1. 创建一个空白的SharePoint解决方案。 (这恰当地结合了你的#1和#2)
  2. 添加模块(在SharePoint中,模块类似于文件夹或资源容器)
  3. 在模块中添加了一个新类(intellisense present)
  4. 在模块中添加了新的webpart(intellisense present)
  5. 向项目设计师作品和(intellisense present)
  6. 添加了用户控件

    我认为您应该考虑创建真正的服务器或可视Web部件。这将有一个更难学习的曲线,但将来会支付股息。您将能够再次打包和部署解决方案,或者转移到另一个服务器/服务器场。 Aspx页面可以由可怕的SharePoint设计器添加和操作。在2010年,理论是那些设计师mod可以打包和部署。

    我每天都在这个环境中工作,我能给出的最好的建议就是拥抱SP对象模型并以共享点的方式做到这一点。不要试图强迫SP不是它的东西。 :)

    Here is the C# view Here is the markup view

答案 1 :(得分:0)

这可能不是您正在寻找的解决方案,但它是我为SharePoint开发找到的最好的东西。

在您的解决方案中,创建2个项目:

1个SharePoint项目(空或不)

1个ASP.NET Web应用程序项目

在ASP.NET项目中开发所有UI(aspx页面,ascx控件等),并创建构建后步骤,将页面和控件复制到SharePoint解决方案中的相应文件夹中。

这样,您将受益于Visual Studio中Web开发的所有功能,并且它也将非常容易部署。一开始这是一段时间的投资,但如果你的aspx页面中有很多逻辑要实现,这是值得的。

blog post记录了您需要做的事情。

答案 2 :(得分:0)

您可以通过关闭页面向页面布局添加智能感知,然后只需从中重新打开即可 file->openfile->your file page layout path

答案 3 :(得分:-1)

或者您可以直接在解决方案资源管理器中打开要右键单击的文件,然后选择“打开”:您将获得智能感知!