نشر جزء ويب لا تظهر في جزء ويب معرض:الجديد "أجزاء ويب"'

StackOverflow https://stackoverflow.com/questions/208333

  •  03-07-2019
  •  | 
  •  

سؤال

أخذت ملف wsp و هل الأمر stsadm-o addsolution مثل المعتاد.ثم ذهبت إلى الإدارة المركزية->حل إدارة و ظهرت على ما يرام.ثم نشرها على شبكة الإنترنت جزءا لا مشاكل حتى الآن.

المشكلة هي عندما أذهب إلى إضافته إلى webpart معرض (جزء ويب معرض:أجزاء ويب جديدة) عادة "جزء ويب" في القائمة ، حدد المربع المجاور له ثم انقر فوق ملء معرض لكنها لا تظهر في القائمة ؟ يمكن أن أكون في عداد المفقودين شيء في بلدي manifest.xml أن يسبب هذا ؟ أنا فقط كتبت ونشرت آخر جزء ويب هذا بالضبط بنفس الطريقة ومن سار على ما يرام.كما كتبت دمية webpart أن لا يفعل شيئا ولكن الطباعة "العمل" و حاولت ذلك مع أن الحصول على نفس النتائج.

أي أفكار ؟

هل كانت مفيدة؟

المحلول

واو...تبين أن كل ما كان في عداد المفقودين كان 'العامة' إعلان صفي!?!

أشعر احمق.ولكن أيضا أنا لم تضطر إلى حذف يدويا للحصول على الاعتراف بها.شكرا للجميع!

نصائح أخرى

تأكد من أن .الملف webpart نشر wpcatalog مجلد موقع ويب الخاص بك.اعتمادا على ما الدليل المحدد عند التقديم تطبيق ويب, يجب عليك العثور عليه في الموقع مشابهة لهذه:

c:\Inetpub\wwwroot\wss\VirtualDirectories\80\wpcatalog

لدي نفس المشكلة مع "جزء ويب" لقد تم العمل على ولكن في حالتي أنا نسيت ببساطة إضافة جزء ويب إلى البنود "في ميزة" مربع.للقيام بذلك:

  1. في "مستكشف الحلول" تتكشف الشجرة من ميزة.
  2. انقر نقرا مزدوجا فوق عنصر تنتهي .feature.
  3. يجب أن تشاهد علامة تبويب جديدة مع ميزة هذا العنوان أو الوصف ونطاقها.أدناه هناك نوعان من صناديق مع أزرار في بين.من اليسار مربع حدد جزء ويب ثم اضغط على > زر (وضع علامة على الصورة) إضافة إلى ميزة.

ملاحظة:يمكنك أيضا القيام بذلك عن طريق الضغط على Manifest زر على الجزء السفلي و تحرير ملف البيان يدويا إذا كنت تعرف ما تفعلونه.

Adding Web Part to Feature

هذا حقا قد تساعد SharePoint الأخرى للمبتدئين.

كان في وقت ما نفس السلوك.أخيرا كتبنا cmd-أداة تشغيل "الأمر stsadm - o addsolution" ثم إضافة "جزء ويب" معرض جميع ملفات xml على أجزاء ويب.

هناك مصدر ( قليلا بت تحريرها ):

string cmd_StsAdm = @"C:\Program files\Common files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe";
string url_Site = "http://localhost";
string url_Web = "http://localhost";
if ( string.IsNullOrEmpty( url_Web ) ) { url_Web = url_Web; }

Console.WriteLine( "Deleting sharepoint solution" );
string args_DeleteSolution = string.Format( "-o deletesolution -name \"{0}\" -override", startInfo.fileNameWsp );
ShellWait( cmd_StsAdm, args_DeleteSolution );

string filePathWsp = "**** path to wsp file ****";
Console.WriteLine( "Adding sharepoint solution" );
string args_AddSolution = string.Format( "-o addsolution -filename \"{0}\"", filePathWsp );
ShellWait( cmd_StsAdm, args_AddSolution );

Console.WriteLine( "Deploy sharepoint solution" );
string args_DeploySolution = "-o deploysolution -name \"{0}\" -local -allowGacDeployment -url \"{1}\" -force";
args_DeploySolution = string.Format( args_DeploySolution, startInfo.fileNameWsp, url_Web );
ShellWait( cmd_StsAdm, args_DeploySolution );

int counter = 0;
foreach ( CWebPartVytvoreniInfo wpRslt in solutionInfo.WebParts ) {
    counter++;
    string msg = string.Format( "Aktivace web part {0} - {1} z {2}", wpRslt.Info.Nazev, counter, solutionInfo.WebParts.Count );
    Console.WriteLine( msg );
    string args_ActivateFeature = "-o activatefeature -id {0} -url {1}";
    args_ActivateFeature = string.Format( args_ActivateFeature, wpRslt.Info.ID, url_Site );
    ShellWait( cmd_StsAdm, args_ActivateFeature );
}

Console.WriteLine( "Connecting to sharepoint site" );
using ( Microsoft.SharePoint.SPSite site = new Microsoft.SharePoint.SPSite( url_Site ) ) {
    Microsoft.SharePoint.SPList ctg_WebParts = site.GetCatalog( Microsoft.SharePoint.SPListTemplateType.WebPartCatalog );

    counter = 0;
    foreach ( WebPartInfo wpInfo in solutionInfo.WebParts ) {
        counter++;
        string dirPath = System.IO.Path.Combine( wpInfo.DirectoryPath );
        string fileName = wpRslt.Info.Nazev + ".webpart";
        string filePath = System.IO.Path.Combine( dirPath, fileName );

        string msg = string.Format( "Uploading file '{0}' - {1} z {2}", fileName, counter, solutionInfo.WebParts.Count );
        Console.WriteLine( msg );
        using ( System.IO.FileStream fstrm = OtevritSoubor( filePath ) ) {
            ctg_WebParts.RootFolder.Files.Add( fileName, fstrm, true );
        }
    }
}

لقد وجدت أن لو نشرت webpart التي كان بوركن سابقا كان يدويا حذفها بعد إزالة الحل ، قبل إعادة إضافة الحل

الهدف .NET Framework كانت مشكلة بالنسبة لي.انا المستهدفة .NET framework 3.5 و التي لم يكن العمل بالنسبة لي.لذا المستهدفة .صافي 3.0 بدلا من أن عملت بشكل جيد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top