`
javatoyou
  • 浏览: 1081526 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

使用STSDEV开发基于dotnet 3.5的webpart应用

阅读更多
STSDEV是一个优秀的Sharepoint开源开发工具,并且对于2008年中之前需要开发基于VS2008/3.5的moss webpart应用的兄弟姐妹们,更是唯一的选择。(详见Kaneboy的《Visual Studio Extensions for SharePoint v1.1》和choral的《一个SharePoint开发人员必备的工具》)。
不过STSDEV与微软官方所出的Visual Studio Extensions相比,易用性和稳定性稍逊一筹,我为了能够成功用STSDEV开发一个最基本的基于VS2008/3.5的webpart应用折腾了半天,为了后来的兄弟姐妹们少走弯路,故写此教程。
因本文太长,所以先做个目录,方便不同需求的兄弟们快速查看。
下载修正版STSDEV
手把手开发一个基于VS2008/3.5的webpart
创建解决方案
编辑代码
部署webpart
其他问题
感谢和引用
促进交流
下载修正版STSDEV
万事开头难,当你满怀着终于找到一个可以开发基于VS2008/3.5的webpart应用的工具STSDEV的惊喜时候,却发现这是一个美丽的误会,这个号称能创建基于VS2008/3.5的MOSS应用的工具居然就在第一步,创建解决方案的时候就崩溃了!
怎么办!难道就因此止步于此?从而倒退回使用DotNet3.0开发Webpart?还好,历史的车轮不会因为小小一块石头而止步,我把这个问题修复了(详见《修正版的STSDEV,可以用于开发基于dotnet3.5/vs2008moss应用》),大家直接下载修正版STSDEV.zip,然后继续向前进吧。
手把手开发一个基于VS2008/3.5的webpart
创建解决方案
修正版STSDEV.zip解压到一个常用的目录,因为以后如果需要移动该目录的话将会十分麻烦(使用STSDEV创建的解决方案编译和部署的时候都需要调用STSDEV),打开STSDEVBin目录,会发现有如下文件:
双击stsdev.exe文件,就弹出一个命名行和创建解决方案向导:

然后我们:
  1. 输入Solution Name(解决方案),比如Adalovelacer.WebPartTest(注意!请输入整个最顶层命名空间的名称!).
  2. 选择Parent Directory,这里选择C盘(注意1:如果Parent Directory里面所填的目录事先没有创建,将不会自动创建。所以请预先创建或者选择已有的空目录
    注意2: 如果Parent Directory里面所选择的目录如果有空格,比如 C:\Documents and Settings\ ,有时候会报错,有时候能创建成功,原因尚未研究。请尽量使用没有空格的目录,比如C:\Documents_and _Settings\
  3. 点击Signing Key文本框旁边的…按钮,将会弹出下面对话框

    这时候请直接点击Create New按钮(注意!不要在Textbox和点击…按钮,我已经在这里浪费了时间,不想你再在这里浪费时间),弹出如下窗口:

    输入Key的文件名(注意:这里的目录不需要跟解决方案在同一个目录下),然后点击Save按钮。出现如下界面:

    点Ok.
  4. 然后在Solution Type中选择Web Part Solution(C# assembly)
  5. 在Solution/Project Version Type中选中Visual Studio 2008 with .NET 3.5
    这时候界面应该如下:

    这时候点击Create Solution。好!提示解决方案创建成功。

    然后点击Ok之后,就会自动打开刚才创建的解决方案(注意!只有使用修正版STSDEV.zip才会自动打开刚才创建的解决方案,而原来版本的STSDEV是不会自动打开,需要你找到解决方案的目录,手动打开。
    好,出现如下界面:
    这里有两个选项选择,第1个是浏览模式,适合只需要阅读MOSS 项目源代码而不需要修改的兄弟姐妹(顺便赞扬一句:STSDEVVisual Studio Extensions for SharePoint v1.1相比,除了可以创建基于VS2008DotNet3.0, 3.5Moss解决方案,还有它不会在VS上装模板,是独立VS本身运行的,可以在默认安装的VS上打开,并且打开通过STSDEV创建的解决方案会有查看模式和编辑模式选择。这点我想对于很多只需要阅读MOSS 项目源代码而不需要修改的兄弟姐妹们很重要。)浏览模式安全性更强,不过会屏蔽掉部分vs自动化功能和智能感应。
    第2个是,我们现在是要开发而不是查看代码,所以我们选择第2个选项,普通模式。然后点ok.就打开了解决方案。
    打开了解决方案之后,我们可以看到解决方案下包含下列文件夹:
    其中DeploymentFiles是部署用文件夹,稍后将会提到。
    RootFiles是资源文件夹,用于存放css,Image,webpart等资源文件。
    除了刚才那两个文件夹外的其他地方(包括根目录下和你在DeploymentFiles、RootFiles外创建的文件夹)都是存放代码的地方。
    编辑代码
    编辑webpart代码主要包括以下个步骤:
    1.编辑webpart的C#代码(.cs文件)
    2.编辑webpart描述文件(Template/Features/{解决方案名称}/WebParts下的.webpar文件
    3.编辑feature.xml(Template/Features/{解决方案名称}/下的feature.xml文件)
    4.编辑WebParts.xml(Template/Features/{解决方案名称}/WebParts下的WebParts.xml文件)
    好,现在让我们开始一个例子。这个例子是创建一个使用了LINQ和自动属性等DotNet3.5特性技术,用来显示一个数组中小于5的数字。效果如下:

    既然要用LINQ,第一步当然是要添加LINQ的引用拉,注意!LINQ的引用是System.Core

    好,万事具备,我们开始按照刚才讲的4个步骤做吧,
第1步,编辑webpart的C#代码(指.cs文件)。
先在解决方案根目录下创建一个名为HelloDotNet35.CS文件。然后把这个文件的代码修改成下面内容:
1usingSystem;
2usingSystem.Web;
3usingSystem.Web.UI;
4usingSystem.Linq;
5usingMicrosoft.SharePoint;
6usingMicrosoft.SharePoint.WebControls;
7usingMicrosoft.SharePoint.WebPartPages;
8usingSystem.Web.UI.WebControls;
9
10namespaceAdalovelacer.WebpartTest
11{
12publicclassHelloDoNet35:WebPart
13{
14/**////<summary>
15///使用Dotnet3.5的自动属性功能
16///</summary>

17publicstringIntroduction{get;set;}
18
19protectedoverridevoidRender(HtmlTextWriterwriter)
20{
21Introduction="使用Dotnet3.5的自动属性,LINQ功能<br/>";
22writer.Write(Introduction);
23
24int[]numbers={5,4,1,3,9,8,6,7,2,0};
25
26writer.Write("在数组,<br/>");
27foreach(intiteminnumbers)
28{
29writer.Write(item+"");
30}

31writer.Write("<br/>中,小于5的数字有<br/>");
32
33
34使用LINQ检索列表#region使用LINQ检索列表
35
36varlowNums=fromnuminnumbers
37wherenum<5
38selectnum;
39
40#endregion

41
42foreach(intiinlowNums)
43{
44writer.Write(i+"");
45}

46}

47}

48}

49
第2步,编辑webpart描述文件(Template/Features/{解决方案名称}/WebParts下的.webpar文件
Template/Features/Adalovelacer.WebpartTest/WebParts/CustomWebPart1.webpart复制后,再粘贴在相同目录下,并重命名为:HelloDotNet35.webpart。
然后打开HelloDotNet35.webpart,修改成如下内容:
<?xmlversion="1.0"encoding="utf-8"?>
<!--CreatedbySTSDEVat2008-3-2722:31:24-->
<webParts>
<webPartxmlns="http://schemas.microsoft.com/WebPart/v3">
<metaData>
<typename="Adalovelacer.WebpartTest.HelloDoNet35,Adalovelacer.WebpartTest,Version=1.0.0.0,Culture=neutral,PublicKeyToken=03bd28a31f440b7b"/>
<importErrorMessage>ErrorimportingWebPart</importErrorMessage>
</metaData>
<data>
<properties>
<propertyname="Title"type="string">HelloDoNet35</property>
<propertyname="Description"type="string">欢迎大家一起探讨Webcontorl/WebpPart开发,欢迎加入msn群:group182777@msnzone.cn</property>
<propertyname="ChromeState"type="chromestate">Normal</property>
<propertyname="AllowZoneChange"type="bool">True</property>
<propertyname="AllowHide"type="bool">True</property>
<propertyname="ExportMode"type="exportmode">All</property>
</properties>
</data>
</webPart>
</webParts>
第3步,编辑feature.xml(Template/Features/{解决方案名称}/下的feature.xml文件)
我们打开Template/Features/Adalovelacer.WebpartTest/feature.xml。修改成:
<?xmlversion="1.0"encoding="utf-8"?>
<!--CreatedbySTSDEVat2008-3-2722:31:24-->
<Feature
Id="A0D121E7-B848-4A96-85C7-A9B6A530B2F5"
Title
="Asamplefeature:Adalovelacer.WebpartTest"
Description
="ThisSharePointsolutionwascreatedbytheSTSDEVutility(http://codeplex.com/stsdev)"
Version
="1.0.0.0"
Scope
="Site"
Hidden
="false"
ImageUrl
="Adalovelacer.WebpartTest\AfricanPith32.gif"xmlns="http://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest
Location="WebParts.xml"/>
<ElementFile
Location="WebParts\CustomWebPart1.webpart"/>
<ElementFile
Location="WebParts\CustomWebPart2.webpart"/>

<!--此处加上刚才完成的webpart文件-->
<ElementFile
Location="WebParts\HelloDoNet35.webpart"/>
<!---->


</ElementManifests>
</Feature>
第4步,编辑WebParts.xml(Template/Features/{解决方案名称}/WebParts下的WebParts.xml
我们打开Template/Features/Adalovelacer.WebpartTest/WebParts.xml。修改成:
1<?xmlversion="1.0"encoding="utf-8"?>
2<!--CreatedbySTSDEVat2008-3-2722:31:24-->
3<Elementsxmlns="http://schemas.microsoft.com/sharepoint/">
4<ModuleName="Adalovelacer.WebpartTest"List="113"Url="_catalogs/wp"Path="WebParts"RootWebOnly="True">
5<FileUrl="CustomWebPart1.webpart"Type="GhostableInLibrary">
6<PropertyName="Group"Value="Adalovelacer.WebpartTest"/>
7</File>
8<FileUrl="CustomWebPart2.webpart"Type="GhostableInLibrary">
9<PropertyName="Group"Value="Adalovelacer.WebpartTest"/>
10</File>
11
12<!--此处加上刚才完成的webpart文件-->
13<FileUrl="HelloDoNet35.webpart"Type="GhostableInLibrary">
14<PropertyName="Group"Value="Adalovelacer.WebpartTest"/>
15</File>
16<!---->
17
18</Module>
19</Elements>
好,编译一下,全部通过了,至此代码编写工作全部完成。但是请不要关闭你的vs2008,我们还要用它来部署。
部署webpart
完成了代码编写工作之后,当然是部署拉,部署分两种,一种在本机上部署,一种在远程服务器上部署。我们先讲
在本机上部署
还好,刚才没有关闭Vs2008,我们先把编译模式选择成DebugDeploy,如下图:
编译一下,编译通过!这个时候我们已经部署到本机的wss上了。
然后我们打开wss, 然后在Team Site > Site Settings > Site Features 里面可以看到我们刚才开发的webpart集已经出来在页面中,我们点击active按钮,把它active.

然后,我们随便到一个页面上把我们的HelloDoNet35 Webpart添加到页面上,
点add,好,终于看到我们的劳动成果了。
大功告成!但是请注意!如果你要修改或者添加新的webpart之后,再次部署的时候请把编译模式转成DebugUpgrade(因为你已经Deploy过了),否则就会编译错误

部署到远程服务器
终于到了最后一步啦!
我们在本机打开解决方案所在目录,找到DeploymentFiles目录,把cab结尾的文件(本例子是Adalovelacer.WebpartTest.wsp.cab)复制到远程服务器上任意一个地方(本例子为c盘)。

然后在命令提示符下敲入下列命令:
1cd"C:\ProgramFiles\CommonFiles\MicrosoftShared\webserverextensions\12\bin\"回车
2
3stsadm-oaddsolution-filename"C:\Adalovelacer.WebpartTest.wsp.cab"回车
4
5stsadm-oexecadmsvcjobs回车
6
7stsadm-odeploysolution-nameAdalovelacer.WebpartTest.wsp.cab-immediate-allowgacdeployment–allcontenturls回车
8
9stsadm-oexecadmsvcjobs回车
10


好,部署成功!
打开wss, 然后在Team Site > Site Settings > Site Features 里面可以看到我们刚才开发的webpart集已经出来在页面中,我们点击active按钮,把它active.
然后,我们随便到一个页面上把我们的HelloDoNet35 Webpart添加到页面上,

点add,好,终于看到我们的劳动成果了。
注意!如果你要修改或者添加新的webpart之后,再次部署的时候请在命令提示符下敲入下列命令:
1cd"C:\ProgramFiles\CommonFiles\MicrosoftShared\webserverextensions\12\bin\"回车
2
3stsadm-oupgradesolution-nameAdalovelacer.WebpartTest.wsp.cab-filename"C:\Adalovelacer.WebpartTest.wsp.cab"-local-allowgacdeployment回车
4
5stsadm-oexecadmsvcjobs回车
6
至此,第一个用STSDEV开发的基于dotnet 3.5的webpart应用就此开发并部署成功。
其他问题
开发完成了,但是我想你会在STSDEV遇到这些问题:
  • 几种编译模式的介绍
DebugBuild
编译代码,生成 .wsp 文件
DebugInstall
编译代码,并安装到本地服务器。但是不部署。(如果之前使用过此模式或DebugDeploy模式编译成功,再次编译会报错)
DebugDeploy
编译代码,并安装到本地服务器。并且部署。(如果之前使用过此模式或DebugInstall模式编译成功,再次编译会报错)
DebugUpgrade
编译代码,并更新到本地服务器(如果之前没有使用DebugInstall或者DebugDeploy模式
分享到:
评论

相关推荐

    轻量级C#编译器For_dotNet3.5汉化版[另有dotNet1.1英文版_dotNet2.0英文版_dotNet3.5英文版]

    本软件是一个VS编译工具,是目前体积最小的VS编译器,支持c#、vb.net,支持winform和webform语言虽不能完全替代Visual studio,不过在...For dotNet3.5英文版: http://download.csdn.net/detail/shareboycn/9500617

    轻量级C#编译器For_dotNet3.5版[另有dotNet1.1版_dotNet2.0版_dotNet3.5汉化版]

    本软件是一个VS编译工具,是目前体积最小的VS编译器,支持c#、vb.net,支持winform和webform语言虽不能完全替代Visual studio,不过在没有Visual studio时,应急用下,还是不错的,此为dotNet...For dotNet3.5汉化版:

    dotNET 3.5 sxs

    .NET Framework 3.5 是微软开发的一个重要组件,主要用于支持基于.NET Framework的应用程序在Windows操作系统上运行。SXS,全称“Side-by-Side Assembly”,是Windows操作系统中的一个概念,用于处理不同版本的组件...

    轻量级C#编译器For_dotNet2.0版[另有dotNet1.1版,dotNet3.5版]

    本软件是一个VS编译工具,是目前体积最小的VS编译器,支持c#、vb.net,支持winform和webform语言虽不能完全替代Visual studio,不过在没有Visual studio时,应急用下,还是不错的,此为dotNet...For dotNet3.5汉化版:

    轻量级C#编译器For_dotNet1.1版[另有dotNet2.0版,dotNet3.5版]

    本软件是一个VS编译工具,是目前体积最小的VS编译器,支持c#、vb.net,支持winform和webform语言虽不能完全替代Visual studio,不过在没有Visual studio时,应急用下,还是不错的,此为dotNet...For dotNet3.5汉化版:

    dotnet3.5离线安装包及使用说明

    "dotnet3.5离线安装包"正是为此目的而设计的,它包含了所有必要的组件和文件,可以在无网络环境下进行安装。 在提供的压缩包文件中,`readme.txt`通常包含有关安装步骤、注意事项以及可能遇到的问题和解决方法的...

    Pro VisualC++ CLI 2008 dotNet3.5 platform +源代码

    .NET 3.5是.NET Framework的一个重要版本,包含了丰富的类库,如Windows Presentation Foundation (WPF)用于构建富客户端应用,Windows Communication Foundation (WCF)用于实现分布式系统,以及Windows Workflow ...

    dotNetFramework3.5离线安装.rar

    .NET Framework 3.5是微软开发的一个重要软件框架,它为开发者提供了构建、运行Windows应用程序所需的类库和服务。这个框架自2007年发布以来,一直是许多Windows应用的基础,尤其是那些基于C#、VB.NET或其他.NET兼容...

    Win10x64(含32位)dot net framework 3.5(含2.0)安装包,亲测可用,一键安装.rar

    安装.NET Framework 3.5时,需要注意的是,由于它包含对2.0的支持,所以一旦安装成功,系统就可以运行基于这两个版本的所有.NET应用程序。此外,由于这是一个兼容32位和64位系统的安装包,无论用户的Windows 10是...

    dotNetFramework3.5sp1离线版64位_1

    dotNetFramework3.5sp1离线版64位,解压后即可使用,中文版

    dotNetFramework3.5离线安装包

    dotNetFramework3.5离线安装包,

    .NET 3.5 SP1 安装失败解决方法

    .NET Framework 是一个由微软开发的应用程序框架,它为运行应用程序提供了一个环境。.NET Framework 3.5 SP1 是该框架的一个重要版本,包含了多个增强功能和修复程序。然而,在某些情况下,用户可能会遇到安装失败的...

    DotNET V3.5新增功能

    ** DotNET Framework V3.5 新增功能详解** 在 .NET Framework 的发展历程中,V3.5 是一个重要的里程碑,它不仅集成了 .NET Framework 3.0 的所有功能,还引入了许多创新特性,极大地提升了开发效率和应用程序的性能...

    基于dotNet的Web应用程序开发01(.Net2.0介绍)

    .Net 2.0介绍:概念、B/S 架构、特点、ASP.Net

    基于DotNet和树莓派Kame四足机器人完整源码.zip

    基于DotNet和树莓派Kame四足机器人完整源码.zip基于DotNet和树莓派Kame四足机器人完整源码.zip基于DotNet和树莓派Kame四足机器人完整源码.zip基于DotNet和树莓派Kame四足机器人完整源码.zip基于DotNet和树莓派Kame四...

    Webp格式转换工具Any2WebpTool_v1.zip

    软件介绍: Webp格式转换工具可以在PNG/JPG/GIF/...本软件需要先安装dotNet3.5或以上版本。使用方法:点击浏览选择源文件夹,再选择输出文件夹,设置压缩配置及压缩品质,开始转换。Any2WebpTool.exeWebp2AnyTool.exe

    NET Framework 3.5 for Win10/Win11

    Win10/Win11系统添加.NET Framework 3.5 使用方法 1.将“sxs”文件复制到C盘,用完后可以删除; 2.右键以管理员身份运行NET Framework 3.5.bat; 3.放在C盘的文件可以删除。

    整理过的dotnet framework源代码(3)

    微软dotnet fromework的源代码(微软公布的不全, 主要是为了调试用的), 但是目录结构非常不易读, 我按照java的package的形式整理了一下, 现在共享给大家(解压缩大概80多M, 所以分了三个部分)

    Windows Server 2012 R2 .net 3.5镜像SXS下载

    它为开发和运行基于.NET的应用程序提供了一个全面的运行环境。.NET Framework 3.5是.NET Framework的一个重要版本,它包含了.NET Framework 2.0、3.0和3.5 Service Pack 1,这些子版本分别引入了WCF(Windows ...

    基于DotNet Core的Agile敏捷开发设计源码大全

    该项目为基于DotNet Core的Agile敏捷开发设计源码大全,涵盖501个文件,包括455个C#源代码文件、8个项目文件、7个Markdown文件、5个文本文件、3个批处理文件、3个属性文件、3个图标文件、3个图片文件、2个命令文件、...

Global site tag (gtag.js) - Google Analytics