Hej, sitter med vs 2008 och försöker utveckla en liten programvara som skall köras på många datorer. Dess syfte är att placera en fil i sharepoint och då behövs en referens till microsoft.sharepoint.dll vilket inte är några problem, bara att kopiera dll:en. Du kommer inte kunna köra mot sharepoints objektmodell (SPSite m.m.) från en klient. Tack, skall titta på din länk. Services går inte att installera om man inte har servern installerad så där är moment 22. Jag har också varit inne på att enda chansen att lösa det här på är att services eller en sida man postar datat på med upload på något sätt. De finns bl.a. dokumenterade på den länk jag postade :-) har nu skrivit en egen webservice för upload och sen att kunna skicka data via den - då är det credentials som spökar istället. Har satt impersonate=true i dess web.config och använder credentials, men det verkar inte räcka det heller.. Får fortsätta på måndag Varför inte System.Net.CredentialCache.DefaultCredentials ? Nej, jag gick över till ett RPC-anrop istället för att slippa dessa alla krångligheter. Samma sätt som att lösa problem med webDav när det gäller Exchange.Vad behövs för att utveckla mot sharepoint?
Men när man gör en build och bygger ett installationspaket så saknas massor av saker. Det jag försökt är att installera både det ena och det andra men inget verkar hjälpa. Vad är det som behövs för att kunna bygga en fristående applikation som ansluter mot en sharepoint-site?
Koden jag kör är typ ...
<code>
Imports Microsoft.Sharepoint
' öppna servern
Try
Dim thesiteurl As String = "http:\\assth073:8000\" + projectnumber + "\" + foldername
Dim site As SPSite = New SPSite("http:\\assth073:8000")
site.OpenWeb()
'Dim thesite As SPWeb = New SPSite(thesiteurl).OpenWeb()
'thesite.AllowUnsafeUpdates = True
Catch ex As Exception
MessageBox.Show(ex.Message & ex.InnerException.ToString, "Fel vid anslutning mot sharepoint", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End Try
</code>
------ Starting pre-build validation for project 'Outlook2007_EProjectTest' ------
WARNING: Unable to find dependency 'MICROSOFT.SHAREPOINT.ADMINISTRATIONOPERATION' (Signature='71E9BCE111E9429C' Version='12.0.0.0') of assembly 'Microsoft.SharePoint.dll'
WARNING: Unable to find dependency 'MICROSOFT.SHAREPOINT.DIAGNOSTICS' (Signature='71E9BCE111E9429C' Version='12.0.0.0') of assembly 'Microsoft.SharePoint.dll'
WARNING: Unable to find dependency 'MICROSOFT.INTERNAL.MIME' (Signature='31BF3856AD364E35' Version='8.0.0.0') of assembly 'Microsoft.SharePoint.dll'
WARNING: Unable to find dependency 'MICROSOFT.SHAREPOINT.SEARCH' (Signature='71E9BCE111E9429C' Version='12.0.0.0') of assembly 'Microsoft.SharePoint.dll'
WARNING: Unable to find dependency 'MICROSOFT.WEB.DESIGN.SERVER' (Signature='71E9BCE111E9429C' Version='12.0.0.0') of assembly 'Microsoft.SharePoint.dll'
WARNING: Unable to find dependency 'MICROSOFT.HTMLTRANS.INTERFACE' (Signature='71E9BCE111E9429C' Version='12.0.0.0') of assembly 'Microsoft.SharePoint.dll'
WARNING: Unable to find dependency 'MICROSOFT.SHAREPOINT.SECURITY' (Signature='71E9BCE111E9429C' Version='12.0.0.0') of assembly 'Microsoft.SharePoint.dll'
WARNING: Unable to find dependency 'MICROSOFT.SHAREPOINT.LIBRARY' (Signature='71E9BCE111E9429C' Version='12.0.0.0') of assembly 'Microsoft.SharePoint.dll'
WARNING: Unable to find dependency 'MICROSOFT.SHAREPOINT.DSP' (Signature='71E9BCE111E9429C' Version='12.0.0.0') of assembly 'Microsoft.SharePoint.dll'
------ Pre-build validation for project 'Outlook2007_EProjectTest' completed ------
------ Build started: Project: Outlook2007_EProjectTest, Configuration: Debug ------
Building file 'C:\Sweco\projekt\connect\Addin_NavigationPaneSample\Outlook2007NavigationPane\Outlook2007_EProjectTest\Debug\Outlook2007_EProjectTest.msi'...
Packaging file 'Microsoft.Office.Interop.SmartTag.dll'...
Packaging file 'Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll'...
Packaging file 'Outlook2007NavigationPane.dll'...
Packaging file 'Microsoft.Office.Tools.Common.v9.0.dll'...
Packaging file 'Microsoft.Office.Tools.v9.0.dll'...
Packaging file 'Microsoft.Vbe.Interop.Forms.dll'...
Packaging file 'Microsoft.Office.Interop.Outlook.dll'...
Packaging file 'Office.dll'...
Packaging file 'Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll'...
Packaging file 'Microsoft.SharePoint.dll'...
Packaging file 'Microsoft.Office.Tools.Outlook.v9.0.dll'...
========== Build: 2 succeeded or up-to-date, 0 failed, 0 skipped ==========Sv: Vad behövs för att utveckla mot sharepoint?
Du måste använda webservicarna som blir installerade med sharepoint, på servern.
Detta kan nog vara ett bra ställe att börja med:
http://www.csharphelp.com/archives4/archive602.html
För övrigt, för att du skall få just den där koden att kompilera, skulle jag rekommendera att du provar installera "Visual Studio 2005 extensions for Windows SharePoint Services 3.0", finns här: http://www.microsoft.com/downloads/details.aspx?FamilyId=19F21E5E-B715-4F0C-B959-8C6DCBDC1057&displaylang=en
Extension för VS2008 kommer först i juni tydligen, men 2005:ans kommer fungera i 2008.
Allt som sharepoint använder, om du itne redan känner till det, ligger här på servern: C:\Program Files\Common Files\Microsoft Shared\web server extensions\12, jag brukar dra över hela den katalogen till min klient och lägga den på samma ställe, blir då enkelt om man vill ha referens till någon annan sharepoint-dll.Sv:Vad behövs för att utveckla mot sharepoint?
Den här lilla produkten jag gör skall nämligen installeras på 4500 datorer och sharepoint finns inte på någon av dessa maskiner. Sedan skall den skicka en eller fler filer till en speciell sökväg/sida.
Får leta på de där webbservicarna, någon som vet vart dessa finns dokumenterade? Sv: Vad behövs för att utveckla mot sharepoint?
Som sagt, du kan inte köra mot OM:en om du ska köra klient-server med sharepoint som server.
Ett annat sätt förutom webservices är att köra RPC! Har ingen länk för hur just nu, men denna bok rekommenderas:
http://www.amazon.com/Developers-SharePoint-Services-Platform-Programming/dp/1584505001
Den tar upp hur på ett bra sätt!Sv:Vad behövs för att utveckla mot sharepoint?
string strDestination = @"http:\\assth073:8000\1702213007\inbox";
FileStream fStream = new FileStream(@"c:\test_14.xml", System.IO.FileMode.Open);
byte[] binFile = new byte[(int)fStream.Length];
fStream.Read(binFile, 0, (int)fStream.Length);
fStream.Close();
samplews.DocumentLoader.SPFiles spfiles = new samplews.DocumentLoader.SPFiles();
spfiles.Credentials = new System.Net.NetworkCredential(@"sweco\pljo", "", "sweco");
spfiles.PreAuthenticate = true;
// ger fel på spfiles.uploaddocument
//spfiles.Credentials = System.Net.CredentialCache.DefaultCredentials;
string result = "";
try {
result = spfiles.UploadDocument(@"c:\test_14.xml", binFile, strDestination);
} catch(Exception ex) {
MessageBox.Show(ex.Message.ToString() + Environment.NewLine + Environment.NewLine + ex.StackTrace);
}
return (result);
å koden för ws är:
using System.Net;
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Web;
using System.Web.Services;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
namespace WSCheckOut
{
/// <summary>
/// Summary description for SPFiles.
/// </summary>
[WebService(Namespace="http://sharepoint.microsoft.com/samples/")]
public class SPFiles : System.Web.Services.WebService
{
public SPFiles()
{
}
[WebMethod]
public void CheckIn(string fileUrl, string comments)
{
SPFile file = GetFile(fileUrl);
file.CheckIn(comments);
}
[WebMethod]
public string GetCheckOutStatus(string fileUrl)
{
SPFile file = GetFile(fileUrl);
return file.CheckOutStatus.ToString();
}
[WebMethod]
public byte[] CheckOut(string fileUrl)
{
SPFile file = GetFile(fileUrl);
file.CheckOut();
return file.OpenBinary();
}
[WebMethod]
public void UndoCheckout(string fileUrl)
{
SPFile file = GetFile(fileUrl);
file.UndoCheckOut();
}
[WebMethod]
public string UploadDocument(string fileName, byte[] fileContents, string targetFolder)
{
if (fileContents == null)
{
return "Null Attachment";
}
try
{
//System.Net.NetworkCredential myCred = new System.Net.NetworkCredential("pljo", "kapten7", "sweco.se");
//System.Net.CredentialCache myCache = new System.Net.CredentialCache();
//myCache.Add(new Uri(targetFolder), "NTLM", myCred);
SPFolder folder = targetWebSite.GetFolder(targetFolder);
SPFile newFile = folder.Files.Add(fileName, fileContents);
return newFile.Title + " created " + newFile.TimeCreated.ToLongDateString();
}
catch (System.Exception ee)
{
return ee.Message + ee.Source;
}
}
#region Private Members
private SPWeb targetWebSite
{
get
{
if (m_web == null)
{
m_web = SPControl.GetContextWeb(Context);
}
return m_web;
}
}
private SPWeb m_web;
private SPFile GetFile(string fileUrl)
{
SPFile file = targetWebSite.GetFile(fileUrl);
if (! file.Exists)
{
throw new System.IO.FileNotFoundException(String.Format("File {0} not found", fileUrl));
}
return file;
}
#endregion
}
}
Sv: Vad behövs för att utveckla mot sharepoint?
Vad säger han för övrigt?Sv:Vad behövs för att utveckla mot sharepoint?
Jag bytte helt inriktning och kör istället med en helt annan teknik.Sv:Vad behövs för att utveckla mot sharepoint?