How to build Web Part

0. Download and install the Web Part template from msdn.microsoft.com. The template is named WebPartTemplatesForVSNetSample.exe.

1. Create a simple web part in Visual Studio.Net.
  The project will contain the following files.
  Web Part Class file(.cs);
  Web Part Description file(.dwp);
  Manifest.xml - will be used to populate CAB files when deploying the web part to a different location;
  AssemblyInfo.cs
 
2. Strongly name the assembly

  sn.exe -k c:keypair.snk

3. Edit AssemblyInfo.cs file in Visual Studio.Net

  [assembly: AssemblyKeyFile("c:\keypair.snk")]


4. Deploy your web part
  (1)Copy the assembly file(.dll) into c:\windows\assembly\ folder, or use the following command line to install it;

   gacutil -i [assembly.dll]

    There are two methods to get PublicKeyToken value:

     (i)sn.exe -T c:\inetpub\wwwroot\bin\[assembly.dll]
     (ii) In the c:windowsassembly folder, right
-click your assembly, and then click properties and copy the PublicKeyToken value

   
  (2)Register your web part as a safe control;
     Open web.config file, then add the following line in the <SafeControls> block;

     <SafeControl Assembly="assembly_Name, Version=1.0.0.0, Culture=neutral, PublicKeyToken=PublicKeyToken_Value" 
       NameSpace
="namespace_name" TypeName="*" Safe="True" />

     
5. Import your web part into a web part page
   (1)Open a web part page on your server;
   (2)Click Modify Shared Page in the upper right corner of the page and click Add Web Parts from the menu;
   (3)Click Import button
   (4)Click Update button
  
[Attention]
When you enable anonymous access to your portal site through a virtual server, you will encounter the following error message according to above processes.
Web Part or Web Form Control on this Web Part Page cannot be displayed or imported because it is not registered on this site as safe
*
At this situation, you should update another web.config file to register the web part as a safe control, which is located in that virtual server you built.

Hope it helpful for you. thanks.

posted @   Rickie  阅读(1128)  评论(2编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示