カテゴリーアーカイブ: SharePoint 開発

1 つの理由」の種類が正しくインストールされていない 1 つまたは複数フィールド”

Web パーツをリストに照らして CAML クエリを昨日小さな微調整を作っていた。  変更を行った, それを展開し、エラーでヒット得た:

3 日 Outlook 天気予報 web パーツで予期しないエラーが発生しました. システム管理者に問い合わせてください。. 1 つまたは複数のフィールドの種類が正しくインストールされていません。. これらのフィールドを削除するリストの設定ページに移動します。.

私はすぐに私に報告していた SharePoint エラー私 CAML クエリを接続していないので以前別の型破りな問題直面していた。  Bing 検索をしたと、 この有用なブログ記事を見つけた 投稿 サンディープ ・ Nahta  (http://snahta.blogspot.com/2009/01/one-or-more-field-types-are-not.html).

ここでは、不適切なクエリ:

クエリ。クエリに ="<どこ><と><Neq><FieldRef 名 = 'Abbr'/< とan >> & lどこan クラス ="tr_"id ="tr_10"データ トークン ="VmFsdWUgVHlwZT0mIzgyMTc7VGV4dCYjODIxNzs、"データ ソース =""> 値型 = 'Text'><値の種類 = 'Text'>SFNY</値><FieldRef 名 = 'Abbr'/< とan >> & lどこan クラス ="tr_"id ="tr_10"データ トークン ="VmFsdWUgVHlwZT0mIzgyMTc7VGV4dCYjODIxNzs、"データ ソース =""> 値型 = 'Text'><値の種類 = 'Text'>アゾール</値></Neq></と></どこ>";

ここで固定されて:

クエリ。クエリに ="<どこ><と><Neq><FieldRef 名 = 'Abbr'/< とan >> & lどこan クラス ="tr_"id ="tr_10"データ トークン ="VmFsdWUgVHlwZT0mIzgyMTc7VGV4dCYjODIxNzs、"データ ソース =""> 値型 = 'Text'><値の種類 = 'Text'>SFNY</値></Neq><Neq><FieldRef 名 = 'Abbr'/< とan >> & lどこan クラス ="tr_"id ="tr_10"データ トークン ="VmFsdWUgVHlwZT0mIzgyMTc7VGV4dCYjODIxNzs、"データ ソース =""> 値型 = 'Text'><値の種類 = 'Text'>アゾール</値></Neq></と></どこ>";

だから, この話の教訓は: あなたの CAML は正しいまたは型破りなエラーを取得可能性がありますを確認してください。.

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

</終了>

SharePoint 2010 「展開で立ち往生ソリューション” ステータス

ソリューションを SharePoint ファームに展開する PowerShell を使用します。 (h/t:  コーリー ・ ロス 彼と彼 ブログの記事). 

[サーバーの全体管理に行きました, システムの設定とし、「ファーム ソリューションの管理"のアクセスをファームにされ、それを展開する私 (わずかな) 落胆します。, 「展開」に捕まってしまった.

MSDN フォーラムで何度も出てくるこの問題を見てきました, だから私はそれについてかなり緊張していた。  私は少し周りを検索し、 この有用な記事を見つけた (一見出所不明者 http://www.resolutionsnet.co.uk/).  ソリューションにクリックしたときに私は、展開ジョブをキャンセルしました。, 3、4 台のサーバー ファーム内にソリューションが正常に配備したこと私に言った.

誤ったサーバーに行きました, タイマー サービスを停止し、それを再起動します。  Windows サーバーは実際にサービスは、コマンドに応答できませんでした私に言った, だから私に告げるそれが病気であります。.

今度こそです, サーバーの全体管理に戻って行ったとき, 問題なしで展開することができた.

うまくいけば情報のこのビットは、いくつかの日のいずれかバインドを助ける.

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

1 日のエラー: "追加できません指定されたアセンブリを GAC に”

Visual studio と少し戦ってきた 2010 上、sp2010 ソリューションと、このエラーを得ていた:

配置手順 'ソリューションの追加' でエラーが発生しました: エラー: 指定したアセンブリをグローバル アセンブリ キャッシュに追加できません。: YourAwesomeDLLThat IAmJustNotGoingToInstallRightNow.dll

GAC 自体に行きました (c:\windowsassembly) 削除しようとして「ファイル使用中」エラーを得た.

Iisreset をしました。, 私はほとんどのダウンロード sysinternals, ... サービスでタイマー サービスを停止最終的に, 私はちょうど閉じ visual studio 自体を再開し、それを閉じて、最後にできたです。.

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

迅速で簡単な: VS をデバッグ 2010 ソリューションの展開

Visual Studio 2010 いくつかの時間の展開時にデバッグ ハード エラーを報告します。  いくつかの非常に大まかなデバッグを行う迅速かつ簡単な方法は、独自の名前付きの例外をスローします。  Visual Studio が出力コンソールで表示されます。.

コードのこのビットを考慮します。:

image

場合は、この機能は、web アプリケーションをスコープ, サイトは null になります。  しようとして、サイトのプロパティを参照する場合, あいまいなエラーを取得します:

配置手順 'ソリューションの追加' でエラーが発生しました: オブジェクト参照オブジェクトのインスタンスに設定されていません.

ただし, 場合は、新しい例外をスローし、コンス トラクターに文字列を渡す, わずかにより有用なメッセージを取得します。:

image

それは原油テクニックです。, しかし、かなり高速かつ簡単.

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

タイマー ジョブの FeatureActivated とフィーチャーのスコープ

いくつかのコードを誰かが私にタイマー ジョブを手渡したと取り組んできました。  それを書く彼は実際の機能の活性化のコードを提供していなかった, もちろんです。  利用をしました。 アンドリュー ・ コネルの有名なブログの記事 件名に.

Visual Studio を使用してください。 2010 展開は、「配置手順 'ソリューションの追加' でエラーが発生エラーで失敗していたと: オブジェクト参照オブジェクトのインスタンスに設定できません。"

文字通り彼のコードを取っていた。  Web アプリケーション レベルの機能をスコーピングされました。, 示すように:

image

その結果, 受信機に送信されるプロパティは、web アプリケーションからです。, サイト コレクションではなく。  最後に, コードは次のようになります:

パブリック オーバーライド void FeatureActivated(SPFeatureReceiverProperties プロパティ)
{

    // 次のように web アプリケーション スコープ機能しません。, 絶望につながる スマイル
    // SPSite サイト プロパティを =。SPSite として Feature.Parent;

    SPWebApplication wa = プロパティ。SPWebApplication として Feature.Parent;

    場合 (wa = = null) 新しい例外をスローします。(「webapp2 null です。);

    foreach (Wa SPJobDefinition ジョブ。JobDefinitions)
    {

        してください。
        {
            場合 (ジョブ。名 List_JOB_NAME = =)

                ジョブ。削除();
        }
        キャッチ (例外 e)
        {
            新しい例外をスローします。(「マーカー 2」);
        } // e 例外をキャッチします。
    }

    // ジョブをインストールします。

    WeatherForecastTimerJob weatherForecastTimerJob =
        新しい WeatherForecastTimerJob(List_JOB_NAME, wa);

    SPMinuteSchedule スケジュール = 新しい SPMinuteSchedule();
    スケジュール。BeginSecond = 0;
    スケジュール。EndSecond = 59;
    スケジュール。間隔 = 5;
    weatherForecastTimerJob.Schedule = スケジュール;
    weatherForecastTimerJob.Update();

}

テイクアウトのキーは、機能を web アプリケーションにスコープが設定されますが, SharePoint は、フィーチャー レシーバーを渡します SPFeatureReceiverProperties web アプリケーション レベルのパラメーターがあります。  アンドリューの昔のブログのエントリをサイト コレクションにスコープ前提としています。.

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

Microsoft.SharePoint.ApplicationPages.Administration.dll はどこです。?

Microsoft.SharePoint.ApplicationPages.Administration.dll を参照する visual studio プロジェクトを渡されました。  私は考えを見つけることは共有するだろうが、少しかかった。  私の環境で, それはであります。:

c:\プログラム files common files microsoft shared web server extensions14configadminbin

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

CodePlex プロジェクト – SP2010 エクスプ ローラー

SharePoint の技術の低レベルの詳細を学ぶための継続的努力の一環として 2010, 作成した、「SharePoint エクスプ ローラー「ツールの種類。  考えは新しくないです。  私はこのプロジェクトを複数回使用: http://sharepointexplorer.codeplex.com/.  私の考えを使用してオブジェクト モデルを提供することができますすべての低レベルの詳細を表示する web パーツを接続すること、SharePoint バージョンを作成することです。 

このブログの記事のためのボランティアの両方の呼び出しと同様に、プロジェクトの発表としてを提供しています。  このプロジェクト興味があるなら, メールで知らせてください。 (galvin.paul@gmail.com) 我々 はそれをうまくいく.

ここでは、プロジェクトです。: http://sp2010explorer.codeplex.com/

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

TreeNodeBinding、ASP での作業。ネット Treeview コントロール

私は何私はすぐにリリースされる希望に取り組んでいます。 CodePlex web パーツを互いにカバーの下の SharePoint サイトを探索の目的のためのプロバイダー/コンシューマー接続を介して話の素敵な統合のビットを提供するプロジェクト。  (これは確かに前に行われています, これが何か他のも学習プロジェクト).  これは、windows のエクスプ ローラー ビューの SharePoint の代替するもので 2010 ドキュメント ライブラリ.

コード SPWeb ダウンを呼び出す通常の再帰が、指定した開始から SPLists をポイントします。  このような XML 文字列をすべて、走査は、オブジェクトを構築します。:

<sitecollection url =’http://demo2010a:9090′>
 
<web
     タイトル = サンド ' こんにちは世界ボックス ' 
     テンプレート =' すぐに整理するチーム サイト, 著者, 情報を共有, 何とか何とか何とか '>

     <一覧
        タイトル ='BCC_Health_Services_FAQs’
        テンプレート ='CustomList’
       
listid =’http://demo2010a:9090/helloworldsandbox[delim]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</一覧>

     <一覧
        タイトル = 'BCC_Notifications' 
        テンプレート 'CustomList' = 
        listid =’
http://demo2010a:9090/helloworldsandbox[delim]5a5a13d1-877 c 41 c 0-9063-b9612be80d5e’>
     </一覧>

  </web>

</sitecollection>

私はきれいには XML のすべての前に言われて、期待します。.

最終的に、Treeview コントロールにその情報を取得したいと思います。  粉砕ものを丁度地球します。.

私はここでした課題は、ツリー ビューは、ツリーのではなく私の treenodes を手動で構築する XML データ ソース コントロールに接続するでした。  一部は意図的にこと自分自身を難しくしているので私はこれでした。 (これは学習プロジェクトをすべての後です。) 一部はこの漠然とした概念が、建物のツリー ノードをツリーを走査、長期的には良いアイデアではありません。.

このアプローチの問題は、既定ではこの出力を示していますので、Treeview コントロールの興味深いノード「リスト」または「web」のような良い属性について知っていないです。:

 

image

それは役に立ちません。  これは TreeNodeBinding クラスが役立ちます。  私はこの方法は、XML を解釈する必要があります、Treeview コントロールを使用できます。  例はここにあります。:

tnb 新しい TreeNodeBinding =();
tnb。DataMember =「リスト」; // これはサイトの xml ラベルです。.
tnb。TargetField =「改良」;
tnb。データベースユーザ =「タイトル」;
tnb。ToolTipField =「テンプレート」;

それを見つけるときこのバインド、treeview を指示します。 <一覧> XML のノード, TargetField のバインドを適用します。, データベースユーザと ToolTipField。  5 月アプリケーションで, これらは次のとおりにマップします。:

  • TargetField: ノードの値をクリックしたとき, これは何を SelectedNode.Value を得ることです。  これは混乱との… ことです。
  • データベースユーザ: これは、場合、ユーザーに表示する Treeview です。.
  • ToolTipField: 場合は、ツールヒントとして XML から値.

TreeNodebinding ツリー ビューの DataBindings を次のような出力を得る追加します。:

 

image

プロジェクトを続行し、最終的にこの Codeplex で我慢、私はこれのすべてについては必要があります。.

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

テキスト フィールドのフィルターをカスタムの Web パーツに接続します。

SharePoint でテキスト フィールド フィルターから情報を受信したいのですが。 2010 私のカスタム web パーツ。  使用しようとしました。 この MSDN 記事 記事は基礎としては、どちらか壊れてまたは正しくと続くだけではないよ.

少し詳細検索 マイク ・ スミス MSDN の貢献 ここで (http://social.msdn.microsoft.com/forums/en-us/sharepointdevelopment/thread/72F1732A-7F93-441E-8644-2E82BBB153D9).

接続可能な web パーツ上でそこにものの多くはマイクの記事はそれほど単純です。.

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

迅速で簡単な: .NET c# で Gmail SMTP サーバーを使用してメールを送信します。

これはまさに新しいトピックです。, しかし、それを行うために必要なとき, 「私のためのこの仕事となぜウィルは」の多くを発見したとあまりにも多くの直接回答. 誰かはこれを重宝と思います.

コードの次のビットはそれを行うに私は自分の gmail アカウントを使用してメールを送信します。, 添付ファイルを含む:

使用してください。 System.Net.Mail;
使用してください。 System.Net;

NetworkCredential loginInfo = 新機能 NetworkCredential("[私の Gmail の ID]", "[私の Gmail のパスワード]");
MailMessage msg = 新機能 MailMessage();
msg。From = 新機能 MailAddress("[M Gmail Id]@gmail.com");
msg。To.Add(新機能 MailAddress("paul.galvin@arcovis.com < cf ハッシュをスクリプト"f9e31"の種類を = ="テキスト/javascript">/*  */"));
msg。件名 = 「テスト infopath 開発対象";
msg。体 = "<html><体><強い>強力なメッセージです。</強い></体></html>";
msg。IsBodyHtml = true;

foreach (文字列 ファ ・ ル NIPFD。GetAttachmentNamesAndLocations())
{
    msg。Attachments.Add(新機能 添付ファイル(ファ ・ ル));
} // 添付ファイルの追加.

SmtpClient クライアント = 新機能 SmtpClient(":smtp.gmail.com");
クライアント。EnableSsl = true;
クライアント。偽造している = false;
クライアント。資格情報 = loginInfo;
クライアント。ポート = 587;
クライアント。EnableSsl = true;
クライアント。送信(msg);

私が遅く、いくつかのキー ビットおよび他の観測 / メモ:

NetworkCredential loginInfo = 新機能 NetworkCredential("sharepoint", "xyzzy");

  • SSL を使用する私の gmail アカウントが設定されていると、問題ではなかった.
  • そこにどのポートを使用するいくつかの矛盾した情報があります。. 私はポートを使用 587 私のためうまく働いた.
  • 私の場合, また、添付ファイルを送信するために必要な. NIPFD オブジェクトは、私の添付ファイルがあるを知っている方法を持っていること. 完全にパスを返す (例えば. "c:\tempattachment1.jpg」. 私のテストで, 2 つの添付ファイルを持っていたし、彼らの両方がうまく働いた.

Visual studio を使用 2008 このコードを記述するには.

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

Technorati のタグ: ,,,