Creating and Deploying Custom aspx Page as Feature and Solution Package
Related Post : Add Custom aspx Page in Sharepoint 2010
There are two ways to deploy a custom aspx page in SharePoint.
1. Using VseWss extensions project. Here you won't need to create a solution package manually. All the files need to create a solution package are created by the VS extensions itself. See the related Post Deploy Custom Css file in 12 hive. You can use same method to deploy your Custom aspx page.
2. The second way is creating a solution package around your asp.net webapplication so that the pages in the webapplictaion can be deployed in sharepoint. This requires you to manually create all the solution related files (I mean manifest.xml, feature.xml, elements.xml and .ddf file).
In this Post, we will create a solution package manually for a asp.net webapplication project, so that the custom aspx page created in asp.net web application can be deployed in SharePoint's Layouts folder.
Below are the Steps that you can follow :
1. Create a New WebApplication Project.
2. Create a new folder "MyCustomFolder" in the solution explorer and Add your custom aspx page (along with cs file) under it.
3. Add two more xml files in the same folder with names as elements.xml and feature.xml.
The Elements.xml File should look like below -
<elements xmlns="<a href=">http://schemas.microsoft .com/sharepoint/">
<module name="Pages" url="_layouts">
<file url="CustomPage.aspx" name="CustomPage.aspx" type="GhostableInLibrary"> </file>
</module>
</elements>
</div>
Note : Add Module name as “Pages” and url as ” _Layouts “
The Feature.xml File should look like below -
<feature id="79DD53E7-8719-45b0-8E25-C2450B3E3F14" title="Project.CustomPage" description="Custom Page" scope="Web" version="1.0.0.0" hidden="false" xmlns="http://schemas.microsoft /sharepoint/">
<elementmanifests>
<elementmanifest location="elements.xml">
<elementfile location="CustomPage.aspx"> </elementfile> </elementmanifest>
</elementmanifests>
</feature></div>
4. Now, Create another xml file in the Project and name it as manifest.xml
The manifest.xml should look like below -
<solution xmlns="<a href=">http://schemas.microsoft .com/sharepoint/" SolutionId="A5A9C1C2-4EBF-40db-935F-66085A9E0BE8">
<rootfiles>
<rootfile location="TEMPLATE\LAYOUTS\MyCustomFolder\CustomPage.aspx">
</rootfile>
<assemblies>
<assembly deploymenttarget="GlobalAssemblyCache" location="Project.CustomPage.dll">
<safecontrols>
<safecontrol assembly="Project.CustomPage Version=1.0.0.0, Culture=neutral, PublicKeyToken=a28586c97e90b41f" namespace=" Project.CustomPage" typename="*" safe="True"> </safecontrol>
</safecontrols>
</assembly>
</assemblies>
</rootfiles>
</solution>
Note : If you are using some code behind with your aspx page, then change the Inherittag in the aspx page to inherit from the assembly of the project.
For e.g. change thetag to
Inherits="NameSpace.Class, NameSpace, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2ef8d0c4bab8980b" Debug="true"
You dont need to deploy .cs file with the Project. The code is accessed via its .dll .
5. Finally Create the .ddf file ( its simply a text file with name as .ddf)
.ddf file would be something like below -
.OPTION Explicit ; Generate errors.Set CompressionType=MSZIP
.Set UniqueFiles=Off.Set
DiskDirectory1=Package
.Set CabinetNameTemplate=Project.CustomPage.wsp
manifest.xml
bin\ Project.CustomPage.dll
.Set DestinationDir=TEMPLATE\LAYOUTS\CustomPage.aspx
;sets the feature directory.
Set DestinationDir=CustomPageFolder
;adds the feature to the feature directory
MyCustomFolder\feature.xml
;adds the element to the feature
MyCustomFolder\elements.xml
I have created an empty folder in the Project with a name as “Package” to save the .wsp file in it.
6. Sign the project with a key (Project Properties -> "signing tab" and browse your .snk key) and Build the Project.
7. Now, Add and deploy the .wsp solution which is under Package Folder in SharePoint using stsadm commands.
Related Posts :
Modifying Custom aspx Page
Add Custom aspx Page in Sharepoint 2010
There are two ways to deploy a custom aspx page in SharePoint.
1. Using VseWss extensions project. Here you won't need to create a solution package manually. All the files need to create a solution package are created by the VS extensions itself. See the related Post Deploy Custom Css file in 12 hive. You can use same method to deploy your Custom aspx page.
2. The second way is creating a solution package around your asp.net webapplication so that the pages in the webapplictaion can be deployed in sharepoint. This requires you to manually create all the solution related files (I mean manifest.xml, feature.xml, elements.xml and .ddf file).
In this Post, we will create a solution package manually for a asp.net webapplication project, so that the custom aspx page created in asp.net web application can be deployed in SharePoint's Layouts folder.
Below are the Steps that you can follow :
1. Create a New WebApplication Project.
2. Create a new folder "MyCustomFolder" in the solution explorer and Add your custom aspx page (along with cs file) under it.
3. Add two more xml files in the same folder with names as elements.xml and feature.xml.
The Elements.xml File should look like below -
<elements xmlns="<a href=">http://schemas.
<module name="Pages" url="_layouts">
<file url="CustomPage.aspx" name="CustomPage.aspx" type="GhostableInLibrary"> </file>
</module>
</elements>
</div>
Note : Add Module name as “Pages” and url as ” _Layouts “
The Feature.xml File should look like below -
<feature id="79DD53E7-8719-45b0-8E25-C2450B3E3F14" title="Project.CustomPage" description="Custom Page" scope="Web" version="1.0.0.0" hidden="false" xmlns="http://schemas.
<elementmanifests>
<elementmanifest location="elements.xml">
<elementfile location="CustomPage.aspx"> </elementfile> </elementmanifest>
</elementmanifests>
</feature></div>
4. Now, Create another xml file in the Project and name it as manifest.xml
The manifest.xml should look like below -
<solution xmlns="<a href=">http://schemas.
<rootfiles>
<rootfile location="TEMPLATE\LAYOUTS\MyCustomFolder\CustomPage.aspx">
</rootfile>
<assemblies>
<assembly deploymenttarget="GlobalAssemblyCache" location="Project.CustomPage.dll">
<safecontrols>
<safecontrol assembly="Project.CustomPage Version=1.0.0.0, Culture=neutral, PublicKeyToken=a28586c97e90b41f" namespace=" Project.CustomPage" typename="*" safe="True"> </safecontrol>
</safecontrols>
</assembly>
</assemblies>
</rootfiles>
</solution>
Note : If you are using some code behind with your aspx page, then change the Inherit
For e.g. change the
Inherits="NameSpace.Class, NameSpace, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2ef8d0c4bab8980b" Debug="true"
You dont need to deploy .cs file with the Project. The code is accessed via its .dll .
5. Finally Create the .ddf file ( its simply a text file with name as .ddf)
.ddf file would be something like below -
.OPTION Explicit ; Generate errors.Set CompressionType=MSZIP
.Set UniqueFiles=Off.Set
DiskDirectory1=Package
.Set CabinetNameTemplate=Project.CustomPage.wsp
manifest.xml
bin\ Project.CustomPage.dll
.Set DestinationDir=TEMPLATE\LAYOUTS\CustomPage.aspx
;sets the feature directory.
Set DestinationDir=CustomPageFolder
;adds the feature to the feature directory
MyCustomFolder\feature.xml
;adds the element to the feature
MyCustomFolder\elements.xml
I have created an empty folder in the Project with a name as “Package” to save the .wsp file in it.
6. Sign the project with a key (Project Properties -> "signing tab" and browse your .snk key) and Build the Project.
7. Now, Add and deploy the .wsp solution which is under Package Folder in SharePoint using stsadm commands.
Related Posts :
Modifying Custom aspx Page
Add Custom aspx Page in Sharepoint 2010
This comment has been removed by a blog administrator.
ReplyDeletecan i defined workflow on this custom page ?
ReplyDeletewhat about sharepoint 2007 , can i add a Custom aspx Page in Sharepoint 2007 ?
ReplyDeleteThis blog gives very important info about .Net Thanks for sharing
ReplyDeleteDot Net Online Course Bangalore
Keep up the good work; I read few posts on this website, including I consider that your blog is fascinating and has sets of the fantastic piece of information.
ReplyDeleteDot Net Training in Chennai | Dot Net Training in anna nagar | Dot Net Training in omr | Dot Net Training in porur | Dot Net Training in tambaram | Dot Net Training in velachery