კატეგორია არქივი: SharePoint განვითარების

ერთი მიზეზი "ერთი ან მეტი საველე ტიპის დაყენებული არ არის სათანადოდ”

მე ვაკეთებდი მცირე tweak გუშინ ვებ ნაწილი, რომ არ CAML შეკითხვის წინააღმდეგ სიაში.  მე ცვლილება, განლაგებული და მივიღე მოხვდა შეცდომა:

მოულოდნელი შეცდომა მოხდა სამდღიანი Outlook ამინდის პროგნოზი WebPart. გთხოვთ დაუკავშირდეთ სისტემის ადმინისტრატორს. ერთი ან მეტი საველე ტიპის დაყენებული არ არის სათანადოდ. გადასვლა სია პარამეტრების გვერდზე წაშლა ამ სფეროებში.

მე წინაშე კიდევ oddball საკითხი ადრე მე არ მაშინვე დაკავშირება ჩემი CAML სიტყვით შეცდომა, რომ SharePoint იყო საანგარიშო ჩემთვის.  მე სწრაფად bing ძიება და და ეს სასარგებლოა დღიურში მიერ Sandeep Nahta  (http://snahta.blogspot.com/2009/01/one-or-more-field-types-are-not.html).

აქ არის ცუდი შეკითხვის:

query.Query = "<სად><ხოლო><Neq><FieldRef Name=’Abbr’/><Value Type=’Text’>SFNY</ფასი><FieldRef Name=’Abbr’/><Value Type=’Text’>SFIS</ფასი></Neq></ხოლო></სად>";

Here it is fixed:

query.Query = "<სად><ხოლო><Neq><FieldRef Name=’Abbr’/><Value Type=’Text’>SFNY</ფასი></Neq><Neq><FieldRef Name=’Abbr’/><Value Type=’Text’>SFIS</ფასი></Neq></ხოლო></სად>";

ასე რომ,, the moral of the story is: make sure your CAML is correct or you may get an oddball error.

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

</ბოლო>

SharePoint 2010 გადაჭრა მოხდა "შემოყვანა” სტატუსი

მე PowerShell განათავსოს გამოსავალი SharePoint მეურნეობა (თ / ტ:  კორი Roth and his blog post). 

მე მაშინ წავიდა ცენტრალური admin, ხელმისაწვდომი სისტემის პარამეტრები და შემდეგ "მართვა ფერმის გადაწყვეტილებები" განათავსოს მას ფერმა და ჩემს (მცირე) შეშფოთებას, ეს გაიჭედა "შემოყვანა".

I’ve seen this issue come up many times on the MSDN forums, so I was pretty nervous about it.  I searched around a bit and found this helpful article (by a seemingly unattributed person from http://www.resolutionsnet.co.uk/).  I cancelled the deployment job and when I clicked into the solution, it told me that it had successfully deployed the solution to three of the four servers in the farm.

I went to the errant server, stopped the timer service and restarted it.  Windows server actually told me that the service failed to respond to the command, so that tells me that it was sick.

ამჯერად, when I went back to central admin, I was able to deploy it with no problem.

Hopefully this bit of info will help some in a bind one of the days.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

შეცდომა of the Day: "შეუძლებელია დამატება მითითებული ასამბლეის GAC”

მე ბრძოლის ცოტა ვიზუალური სტუდიაში 2010 on sp2010 გადაწყვეტა და მიღების ეს შეცდომა:

Error occurred in deployment step ‘Add Solution’: შეცდომა: დამატება ვერ ხერხდება მითითებულ ასამბლეის გლობალური ასამბლეის cache: YourAwesomeDLLThat IAmJustNotGoingToInstallRightNow.dll

მივედი GAC თავად (გ:\Windows ასამბლეის) ცდილობენ და ამოიღონ და მიიღო "ფაილი დაკავებულია" შეცდომა.

მე iisreset, მე თითქმის გადმოწერილი sysinternals, მე შეწყვიტა მრიცხველის მომსახურებას მომსახურების ... საბოლოოდ, უბრალოდ დახურულია და განაახლა ვიზუალური სტუდიაში თვით და მე საბოლოოდ შეუძლია დახუროს იგი out.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

სწრაფი და მარტივი: გამართვის წინააღმდეგ 2010 Solution დანერგვა

ვიზუალური სტუდია 2010 ანგარიშები ძნელად გამართვის შეცდომების დროს განლაგების გარკვეული ჯერ.  სწრაფი და მარტივი გზა უნდა გააკეთოს რამდენიმე ძალიან უხეში გამართვის არის იმისათვის, რომ საკუთარი დაასახელა გამონაკლისი.  ვიზუალური სტუდია გამოჩნდება მათ გამომავალი console.

მიგვაჩნია, რომ ეს ცოტა კოდი:

image

თუ ეს ფუნქცია scoped to ვებ განაცხადის, საიტი იქნება null.  თუ თქვენ ცდილობენ და მითითებას ქონებას საიტი, თქვენ შეძლებთ ორაზროვანი შეცდომა:

Error occurred in deployment step ‘Add Solution’: ობიექტის მითითება არ არის, რომ მაგალითად ობიექტი.

თუმცა, თუ სახიფათოა new Exception და გაივლის სიმებიანი to მშენებელი, თქვენ ოდნავ უფრო სასარგებლოა გაგზავნა:

image

ეს დაუმუშავებელი ტექნიკით, მაგრამ საკმაოდ სწრაფად და მარტივად.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

ტაიმერი სამსახური FeatureActivated და მხატვრული სფერო

მე მუშაობა რამდენიმე კოდი, რომელიც ვინმეს გადასცეს ჩემთვის მრიცხველის სამუშაო.  იგი არ არის გათვალისწინებული ფაქტობრივი ფუნქცია გააქტიურების კოდი ისე მქონდა დაწერა, რა თქმა უნდა.  I-მა გამოიყენა ანდრია CONNELL ცნობილი დღიურში თემაზე.

მე გამოყენებით Visual Studio 2010 and deployment kept failing with an error “Error occurred in deployment step ‘Add Solution’: ობიექტის მითითება არ არის, რომ მაგალითად ობიექტი. "

მე იღებდა მისი კოდი ძალიან სიტყვასიტყვით.  მე ვიყავი სკოუპინგის მხატვრული ვებ განაცხადის დონე, როგორც ნაჩვენებია:

image

შედეგად, თვისებები, რომელიც იგზავნება მიმღები არიან ვებ განაცხადის, არ საიტზე კოლექცია.  და ბოლოს, კოდი ასე გამოიყურება:

საჯარო override ბათილად FeatureActivated(SPFeatureReceiverProperties თვისებები)
{

    // არ გავაკეთებთ შემდეგ ერთად ვებგვერდი ოთახი scoped თვისებები, ეს იწვევს გამეფებული Smile
    // SPSite საიტი = properties.Feature.Parent როგორც SPSite;

    SPWebApplication wa = properties.Feature.Parent როგორც SPWebApplication;

    თუ (wa == null) სახიფათოა new Exception("webapp2 is null.");

    foreach (SPJobDefinition სამუშაო wa.JobDefinitions)
    {

        ვცდილობთ
        {
            თუ (job.Name == List_JOB_NAME)

                job.Delete();
        }
        დაჭერა (გამონაკლისი e)
        {
            სახიფათოა new Exception("marker 2");
        } // დაჭერა გამონაკლისი e
    }

    // დააყენოთ სამუშაო

    WeatherForecastTimerJob weatherForecastTimerJob =
        ახალი WeatherForecastTimerJob(List_JOB_NAME, ა);

    SPMinuteSchedule დანიშნოს = new SPMinuteSchedule();
    schedule.BeginSecond = 0;
    schedule.EndSecond = 59;
    schedule.Interval = 5;
    weatherForecastTimerJob.Schedule = გრაფიკი;
    weatherForecastTimerJob.Update();

}

გასაღები მიიღოს-მოშორებით არის, რომ როდესაც ფუნქცია scoped to ვებგვერდი ოთახი, SPFeatureReceiverProperties რომ SharePoint გადის თქვენი ფუნქცია მიმღები აქვს ვებ app დონეზე პარამეტრები.  ანდრია პირველწოდებულის ხსენების წლის წაკითხვა შესვლის ვარაუდობს, რომ ეს scoped ადგილზე კრებული.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

სად არის Microsoft.SharePoint.ApplicationPages.Administration.dll?

I was handed a visual studio project that references Microsoft.SharePoint.ApplicationPages.Administration.dll.  It took me a little while to find it and I thought I’d share.  In my environment, it’s located at:

გ:\program files\common files\microsoft shared\web server extensions\14\config\adminbin

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

CodePlex პროექტი – SP2010 Explorer

როგორც ნაწილი მიმდინარე ძალისხმევას, რათა ვისწავლოთ ტექნიკური დაბალი დონე დეტალებს SharePoint 2010, მე შექმნილი "SharePoint Explorer"ასეთი ინსტრუმენტი.  იდეა ახალი არ არის.  მე ამ პროექტის კიდევ ერთხელ: http://sharepointexplorer.codeplex.com/.  ჩემი იდეა არის ის, SharePoint ვერსია, რომელიც იყენებს დაკავშირებული ვებ ნაწილების რათა ნახოთ ყველა დაბალი დონის დეტალი, რომელიც ობიექტური მოდელის შეუძლია. 

ამ დღიურში შეტყობინება ემსახურება როგორც გამოცხადების პროექტი, ასევე მოწოდება მოხალისეები.  თუ თქვენ დაინტერესებული მუშაობს ეს პროექტი, მიადევნე ფოსტით (galvin.paul @ gmail.com) და ჩვენ ვიმუშავებთ ის.

აქ არის პროექტი: http://sp2010explorer.codeplex.com/

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

თანამშრომლობა TreeNodeBinding in ASP.NET Treeview საკონტროლო

I’ve been working on what I hope will be a soon-released CodePlex project that provides a nice integrated bit of web parts talking to each other via provider/consumer connections for the purpose of exploring a SharePoint site under the covers.  (ეს, რა თქმა უნდა გაკეთებულა აქამდე, but this is a learning project as much as anything else).  This is meant to be a replacement for the windows explorer view of SharePoint 2010 დოკუმენტის ბიბლიოთეკების.

The code has the usual recursive call down the SPWeb’s and SPLists from a given starting point.  The object that does all that traversing builds up an XML string that looks something like this:

<sitecollection url=’http://demo2010a:9090′>
 
<web
     title=’Hello World Sandbox’ 
     Template=’A site for teams to quickly organize, author, and share information, BLAH BLAH BLAH’>

     <სია
        title=’BCC_Health_Services_FAQs’
        Template=’CustomList’
       
listid=’http://demo2010a:9090/helloworldsandbox[delim]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</სია>

     <სია
        title=’BCC_Notifications’ 
        Template=’CustomList’ 
        listid=’
http://demo2010a:9090/helloworldsandbox[delim]5a5a13d1-877c-41c0-9063-b9612be80d5e’>
     </სია>

  </web>

</sitecollection>

I expect to clean up that XML before all is said and done.

I want to ultimately get that information up and into a Treeview control.  Not exactly earth shattering stuff.

The challenge I took on here was to connect the tree view to an XML Data Source control instead of manually building up my treenodes as I traverse the tree.  I did this partly because I’m deliberately making things harder on myself (this is a learning project after all) and partly because I have this vague notion that building up tree nodes as I traverse the tree isn’t a good idea for the long term.

The problem with this approach is that the Treeview control doesn’t know about the good attributes on the interesting nodes like “list” or “web” so it shows this output by default:

 

image

That’s not useful.  This is where the TreeNodeBinding class helps.  I can use this to tell the Treeview control how it should interpret the XML.  Here’s an example:

tnb = new TreeNodeBinding();
tnb.DataMember = "list"; // This is the label in the xml for a site.
tnb.TargetField = "listid";
tnb.ValueField = "title";
tnb.ToolTipField = "Template";

This binding tells the treeview that when it finds a <სია> node in the XML, apply the bindings for TargetField, ValueField and ToolTipField.  In may app, these map as follows:

  • TargetField: When someone clicks on a node value, this is what you’ll get for SelectedNode.Value.  This is not to be confused with…
  • ValueField: This is what you want the Treeview to display to the user.
  • ToolTipField: The value from the XML that you want as a Tooltip.

Add that TreeNodebinding to the tree view’s DataBindings and you get output like this:

 

image

I’ll have more on all this as I continue on the project and eventually put this up on Codeplex.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

კავშირი ტექსტური ველი ფილტრები თქვენს მიერ ვებ ნაწილი

მინდოდა ინფორმაციას ტექსტური ველი ფილტრი SharePoint 2010 ჩემს საბაჟო ვებ მონაწილეობას.  I tried using this MSDN article as a basis but the article is either broken or I’m just not following it correctly.

A little more searching turned up Mike Smith’s MSDN contribution აქ (http://social.msdn.microsoft.com/forums/en-us/sharepointdevelopment/thread/72F1732A-7F93-441E-8644-2E82BBB153D9).

არსებობს უამრავი პერსონალის არსებობს შეერთებადი ვებ ნაწილები, მაგრამ მაიკ სტატია არის ისეთი მარტივი, როგორც იგი იღებს.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

სწრაფი და მარტივი: წერილის გაგზავნა გამოყენება Gmail SMTP სერვერზე. NET C #

ეს არ არის ზუსტად ახალი თემის, მაგრამ როცა საჭირო ამის გაკეთება, I found a lot of “why won’t this work for me” and not too many direct answers. I hope someone finds this useful.

შემდეგ ცოტა კოდს ელ გამოყენებით საკუთარი gmail ანგარიშის ამის გაკეთება, მათ შორის attachments:

გამოყენებით 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"));
msg.Subject = "ტესტი InfoPath dev სათაური";
msg.Body = "<html><სხეულის><ძლიერი>მკაცრი გზავნილი.</ძლიერი></სხეულის></html>";
msg.IsBodyHtml = ნამდვილი;

foreach (სიმებიანი aFile in NIPFD.GetAttachmentNamesAndLocations())
{
    msg.Attachments.Add(ახალი დანართი(aFile));
} // დამატება attachments.

SmtpClient კლიენტს = ახალი SmtpClient("smtp.gmail.com");
client.EnableSsl = ნამდვილი;
client.UseDefaultCredentials = ყალბი;
client.Credentials = loginInfo;
client.Port = 587;
client.EnableSsl = ნამდვილი;
client.Send(msg);

რამდენიმე საკვანძო bits, რომ შეაფერხა me ქვემოთ და სხვა შენიშვნები / აღნიშნავს:

  • პირველი ხაზი, რომელიც ქმნის loginInfo ობიექტი უნდა გამოიყენოს gmail ID წაართვეს "@ Gmail.com". ასე რომ,, თუ ჩემი gmail ელ ფოსტის მისამართი არის "Sharepoint@gmail.com"და ჩემი არის" xyzzy "მაშინ ხაზი გამოიყურება ასე:

NetworkCredential loginInfo = ახალი NetworkCredential("SharePoint", "xyzzy");

  • ჩემი gmail ანგარიშზე შეიქმნა გამოიყენოთ SSL და რომ არ იყო პრობლემა.
  • არსებობს რამდენიმე ურთიერთგამომრიცხავი ინფორმაცია არსებობს, თუ რა პორტს. მე პორტი 587 და მუშაობდა ჯარიმა ჩემთვის.
  • ჩემს შემთხვევაში, მე ასევე საჭირო გააგზავნოთ attachments. ეს NIPFD ობიექტს გააჩნია მეთოდი, რომ იცის, სადაც ჩემი დანართები. ეს დაბრუნების სრულად გზა (e.g. "გ:\temp attachment1.jpg ". ჩემი ტესტი, მე მქონდა ორი attachments და ორივე მათგანი მუშაობდა ჯარიმა.

მე ვიზუალური სტუდიაში 2008 დაწერა ეს კოდი.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

პროგრამები Tags: ,,,