When writing your own custom web part, always remember to execute the following steps:
1. Wrap the web part as a *.dll to be deployed to the web application BIN directory to ensure that code access security can be applied.
2 .Create a *.webpart XML file that will specify the above *.dll, namespace, and class for the Web Part and defines properties for it.
3. Create a Feature.xml file that is one of two files used to copy the .webpart XML file to the Web Part gallery of the site collection.
4. Create an Elements.xml file that is one of two files used to copy the .webpart XML file to the Web Part gallery of the site collection.
5. Write a safe control entry for the web application's web.config file that grants permission for your Web Part to run.
6. Set Code access security policies that define what the Web Part will be allowed to do
Once you finish coding your webpart, create a deployment package (*.WSP) before installing/deploying to your farm