2009-07-20 15 views
1

標準のASP.NET 2.0 Webサイトがあります。
ウェブページがあります。
Webpartを自分のWebパーツページに表示する私のCompany.Web.dllにwebpartがあります。
すべてが良いです!既存のWebパーツはSharePointで動作しません

私はSharePointの1.2用の拡張機能を使用してVS2008での「サイト定義」プロジェクトを持っているSharePointの2007年に

をこの同じWebパーツを使用したいと思います。私は、外部のアセンブリからwebpartを自分のサイト定義に追加するさまざまな方法を試しました。私はwebpart(webpartページのwebpartリストに追加されている)を展開することができましたが、それをページに追加するのに失敗しました。

私の栄光の失敗:ちょうど基本的にはコントロールとしての私の部分を使用して、既存のWebパーツを表示するには、シェルのWebパーツを作成し

  1. 新しいWebパーツを作成するときにVS2008によって作成されたX.webpartおよびX.xmlファイルを変更しようとしました。

ページにWebパーツを追加しているときに、次のエラーでどちらの結果:

例外 Microsoft.SharePoint.WebPartPages.WebPartPageUserException: はXXXX Webパーツをインポートすることはできません。 マイクロソフトのMicrosoft.SharePoint.WebPartPages.WebPartImporter.Import(SPWebPartManager マネージャ、XmlReaderのリーダ、ブール clearConnections、ウリwebPartPageUri、 SPWeb spWeb)でMicrosoft.SharePoint.WebPartPages.WebPartImporter.CreateWebPart(ブール clearConnections)で
.SharePoint.WebPartPages.WebPartImporter.Import(SPWebPartManager マネージャ、XmlReaderのリーダ、ブール clearConnections、SPWeb spWeb) Microsoft.SharePoint.WebPartPages.WebPartQuickAdd.System.Web.UI.IPostBackEventHandler.RaisePostBackEventで(文字列 eventArgument)

サイト定義に既存のWebパーツを追加する特別な方法はありますか?

+0

問題を実際の問題と一緒に編集できますか? Webパーツは利用できないのですか、それともエラーを出していますか? (VSeWSS 1.3をご存知ですか?http://www.microsoft.com/downloads/details.aspx?familyid=FB9D4B85-DA2A-432E-91FB-D505199C49F6) –

+0

誰かが少し苦いです。彼らは他のすべての答えを投票したので、答えを選びません。申し訳ありませんが、私はカップルに投票しました。 –

答えて

1

これは、約in this SO questionについて読むことができるように、展開時にGUIDを解決する問題のようです。

+0

それはだまされている!あなたはあなたの答えを盗んだ。しかし、それは働いた! :-) –

-2

ASP.NET 2.0 WebPartを使用するには、WSS 3.0、SharePoint MOSSまたは2007が必要です。 SharePoint 2003またはそれ以下およびWSS 2.0以下は、ASP.NET WebPartをサポートしていません。

+0

開発環境はWSS 3です。0、プロダクション環境はMOSS 2007です。 –

0

ASP.NET webpartsとSharepoint Webpartsはであり、同じものはです。 Sharepoint内でASPNET Webパーツを使用できるはずです。ほとんどのビジネスニーズのために

ASP.NET 2.0 Webパーツ

  • :以下の表を参照してください。
  • ASP.NET 2.0またはSharePointサイトを実行するサイトにWebパーツを配布するには
  • SharePointサイトでASP.NET 2.0サイト用に作成された1つ以上のWebパーツを再利用する場合。
  • Windows SharePoint Services 3.0で提供されるデータまたは機能を使用する。たとえば、サイトまたはリストのデータで動作するWebパーツを作成しているとします。

SharePointベースのWebパーツ

  • Windows SharePoint Services 3.0にSharePointベースのWebパーツインフラストラクチャを使用してWebパーツのセットを移行します。
  • クロスページ接続を作成するには
  • Webパーツゾーンの外部にあるWebパーツ間の接続を作成するには
  • クライアント側接続(Webパーツページサービスコンポーネント)を操作するには。
  • コンテンツデータベースへのキャッシュを可能にするデータキャッシングインフラストラクチャを使用する。

Sharepoint Webpartが標準のASPNETアプリケーションで動作するには、Sharepoint 2007の参照がなくてもVisual Studio(ASPNET Webpart)でwebpartを正しく再作成する必要があります。私は過去に使用している

一つ気の利いたツールは、チェックアウトする価値SmartPartです:

これは、Visual StudioでASP.NETユーザーコントロール(視覚)を作成し、SharePointでこれをホストすることができます。スマートパーツは、ユーザーコントロール用のラッパーとして機能します。 SharePoint UserControlsというHTMLページではなく、SharepointのページビューアWebパーツのように考えることができます。

+1

本当にそうではありません。 「ASP.NET WebPartクラスから派生したWebパーツはWindows SharePoint Servicesで完全にサポートされています」http://msdn.microsoft.com/en-us/library/ms452873.aspx –

+0

別のダウン有権者に気付きました。あなたが投票に行くならば、コメントを残すことができますか?そうでなければ失礼です。 – JamesM

+1

実際にSharePoint 2007は、ASP.NET 2.0で書かれたWebパーツと完全に互換性があります。 –

0

Webパーツがインポートされない理由の詳細を調べるには、ULSログを確認します。これらは通常、%CommonProgramFiles%\Microsoft Shared\web server extensions\12\LOGSにあります。ページにWebパーツを追加しようとすると、エントリがここに記録されます。これにより、より詳細な情報が得られます。

私の推測では、コードアクセスセキュリティの問題です。 Webパーツは強く署名されていて、SharePoint Webアプリケーションのweb.configにSafeControlエントリが必要です。これらのもの以外に、グローバルアセンブリキャッシュに追加して動作するかどうかをテストすることができます(CASポリシーファイルを作成するのがベストプラクティスです)。詳細は、Deploying Web Parts in Windows SharePoint Servicesを参照してください。

私はこれらの手順をサイト定義の一部として統合しようとする前に試してみます。少なくとも、Webパーツが実際に動作することはわかっています。

また、VSeWSSは、最初からWebパーツを開発するために設計されています。元のソースがある場合は、VSeWSSを使用して新しいWebパーツを作成し、カスタムコードに置き換えて.webpartおよび機能XMLファイルを更新することができます。そうすれば、少し良くなるはずです。 VSeWSSにコミットしていない場合は、WSPBuilderとお試しください。

+0

私のSP管理者ガイドから正しく覚えていれば、「12ハイブ」と呼ばれていますか? :P – JamesM