SharePointCommunity
Die deutschsprachige Community für SharePoint, Office 365 und mit Azure

user.aspx enthält keine Deifinition für SharingLinksGroupsDS

bewertet von 0 Usern
Beantwortet Dieser Beitrag hat 1 Geprüfte Antwort | 11 Antworten | 1 Follower

Top-25-Beitragsschreiber
575 Beiträge
Florian Adler erstellt in 25 Jan 2017 10:12

Guten Morgen,

seit zwei Tagen erhalte ich eine völlig wirre Fehlermeldung im SharePoint Server 2016 Standard, wenn ich unter Websiteeinstellungen auf Websiteberechtigungen zugreifen will:

Getting Error Message for Exception System.Web.HttpCompileException (0x80004005): c:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\user.aspx(506): error CS1061: 'ASP._layouts_15_user_aspx' enthält keine Definition für 'SharingLinksGroupsDS_ObjectCreating', und es konnte keine Erweiterungsmethode 'SharingLinksGroupsDS_ObjectCreating' gefunden werden, die ein erstes Argument vom Typ 'ASP._layouts_15_user_aspx' akzeptiert (Fehlt eine Using-Direktive oder ein Assemblyverweis?).     bei System.Web.Compilation.AssemblyBuilder.Compile()     bei System.Web.Compilation.BuildProvidersCompiler.PerformBuild()     bei System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)     bei System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)     bei System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)     bei System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)     bei System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp)     bei System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)     bei System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()     bei System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Was bitte ist das? Mir wäre nicht bewusst, dass ich oder der andere Admin irgendwas in der Hinsicht getan hätten. Den IIS habe ich bereits resettet, die Anwendungspools und betroffene Site (über den IIS) wurden auch schon mehrmals neu gestartet. Auch ein Serverneustart brachte nichts...

Ich bin wieder (sporadisch) hier!

Beantwortet Geprüfte Antwort

Top-25-Beitragsschreiber
575 Beiträge

Ok, case closed. Ich habe in meiner Verzweiflung die SharePoint ISO noch einmal gemountet und bin in \global\wss\sts2.cab fündig geworden. Dort gibt es eine USER.ASX, die sich super "missbrauchen" lässt.

Deren Inhalt habe ich in die ursprüngliche/fehlerhafte user.aspx geschrieben, iisreset und bis jetzt sieht es gut aus. Die Websiteberechtigungen lassen sich wieder fehlerfrei aufrufen, Gruppen erstellen/löschen/manipulieren...

Andi, dein Hinweis mit "das ist bei meiner aspx nicht drin" hätte mich früher stutzig machen sollen. Ich hätte mir gut 2-3 Stunden sparen können. Aber es läuft wieder, wie es soll. Danke für deine Unterstützung!

Ich bin wieder (sporadisch) hier!

Alle Antworten

Top-10-Beitragsschreiber
18.754 Beiträge

Irgendwelche Updates eingespielt? Vielleicht geschah das auch heimlich ohne Euer zutun. Microsoft findet es ja seit einer Weile eine gute Idee, SharePoint Hotfixes einfach über das normale Windows Update zu verteilen. Damit haben sie mir schon so oft Server versaut...

Jedenfalls fehlt in der User.aspx ein Control mit dem angegebenen Namen. Der Code-behind versucht darauf zuzugreifen und daher der Fehler. Ich kann Dir aber auch nicht sagen, was genau das für ein Control sein muß und wohin es gehört. Habt Ihr noch ein Backup zum Nachschauen?

Viele Grüße
Andi
af @ evocom de
Blog
Top-25-Beitragsschreiber
575 Beiträge

Zu unserem Unglück haben wir _natürlich_ noch kein Backup, weil wir erst den Server fertig eingerichtet haben wollten.

Hast du sonst Zugriff auf einen funktionierenden onPrem-Server und könntest ggf. die user.aspx mir zum vergleichen bereitstellen? Laut Error Log ist es in Zeile 506 und da finde ich bis einschließlich 510 sowas:

<asp:ObjectDataSource id="OrganizationEditSharingLinksDS" runat="server"
    OnObjectCreating="SharingLinksGroupsDS_ObjectCreating"
 TypeName="Microsoft.SharePoint.ApplicationPages.SharingLinksRolesDataSource,Microsoft.SharePoint.ApplicationPages,Version=16.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c"
    SelectMethod="ListSharingLinksGroupUsers"
    FilterExpression="SharingLinkType = 'OrganizationEdit'" />

 

Ich bin wieder (sporadisch) hier!

Top-10-Beitragsschreiber
18.754 Beiträge

Der Fehler ist offenbar andersrum, als von mir oben beschrieben. In der aspx wird auf einen EventHandler verwiesen, den es im Code-behind nicht gibt.

Ich habe gerade auf einem unserer Server nachgeschaut und dort fehlt dieses Control ganz. Mache doch mal ein Backup davon und entferne dann genau den Teil, den Du oben gepostet hast und teste dann, ob die Seite noch funktioniert.

Viele Grüße
Andi
af @ evocom de
Blog
Top-25-Beitragsschreiber
575 Beiträge

Das hat leider nicht wirklich etwas gebracht.

MIttlerweile habe ich den SharePoint sogar durch die Reparaturroutine gejagt, aber natürlich ohne Erfolg. Vielleicht haben die Jungs im Microsoft-Forum noch einen Hinweis. Ich bin jedenfalls mit meinem Latein so ziemlich am Ende...

Trotzdem danke, Andi!

Ich bin wieder (sporadisch) hier!

Top-10-Beitragsschreiber
18.754 Beiträge

Was kam denn dabei raus, als Du das Control entfernt hast? Ist es wichtig für die Seite? Oder hat es einfach den Fehler nicht beseitigt? In dem Fall hätte wohl ein iisreset geholfen.

Viele Grüße
Andi
af @ evocom de
Blog
Top-25-Beitragsschreiber
575 Beiträge

Ein Entfernen der der Zeilen hatte keine Auswirkungen. Den iisreset habe ich danach auch durchgeführt. Die Fehlermeldung bleibt identisch.

Ich bin wieder (sporadisch) hier!

Top-10-Beitragsschreiber
18.754 Beiträge

Das ist aber seltsam. Gibt es in der Datei ein zweites Control, das denselben EventHandler benutzen möchte? Oder habt Ihr eine Farm mit mehreren Servern, dann muß das natürlich auf allen gemacht werden.

Viele Grüße
Andi
af @ evocom de
Blog
Top-25-Beitragsschreiber
575 Beiträge

Ich habe jetzt mal den Bereich 506 bis 525 entfernt:

<asp:ObjectDataSource id="OrganizationEditSharingLinksDS" runat="server"
    OnObjectCreating="SharingLinksGroupsDS_ObjectCreating"
    TypeName="Microsoft.SharePoint.ApplicationPages.SharingLinksRolesDataSource,Microsoft.SharePoint.ApplicationPages,Version=16.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c"
    SelectMethod="ListSharingLinksGroupUsers"
    FilterExpression="SharingLinkType = 'OrganizationEdit'" />
<asp:ObjectDataSource id="OrganizationViewSharingLinksDS" runat="server"
    OnObjectCreating="SharingLinksGroupsDS_ObjectCreating"
    TypeName="Microsoft.SharePoint.ApplicationPages.SharingLinksRolesDataSource,Microsoft.SharePoint.ApplicationPages,Version=16.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c"
    SelectMethod="ListSharingLinksGroupUsers"
    FilterExpression="SharingLinkType = 'OrganizationView'" />
<asp:ObjectDataSource id="AnonymousEditSharingLinksDS" runat="server"
    OnObjectCreating="SharingLinksGroupsDS_ObjectCreating"
    TypeName="Microsoft.SharePoint.ApplicationPages.SharingLinksRolesDataSource,Microsoft.SharePoint.ApplicationPages,Version=16.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c"
    SelectMethod="ListSharingLinksGroupUsers"
    FilterExpression="SharingLinkType = 'AnonymousEdit'" />
<asp:ObjectDataSource id="AnonymousViewSharingLinksDS" runat="server"
    OnObjectCreating="SharingLinksGroupsDS_ObjectCreating"
    TypeName="Microsoft.SharePoint.ApplicationPages.SharingLinksRolesDataSource,Microsoft.SharePoint.ApplicationPages,Version=16.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c"
    SelectMethod="ListSharingLinksGroupUsers"
    FilterExpression="SharingLinkType = 'AnonymousView'" />

In allen kommt dieses dubiose "SharingLinksGroupsDS_ObjectCreating" vor. Anschließend iisrest und siehe da, eine neue Fehlermeldung xD

Getting Error Message for Exception System.Web.HttpUnhandledException (0x80004005): Eine Ausnahme vom Typ "System.Web.HttpUnhandledException" wurde ausgelöst. ---> System.Web.HttpException (0x80004005): Die DataSourceID von rptrSharingOrganizationEditGroups muss die ID eines Steuerelements vom Typ IDataSource sein. Ein Steuerelement mit der ID OrganizationEditSharingLinksDS konnte nicht gefunden werden.     bei System.Web.UI.WebControls.DataBoundControl.GetDataSource()     bei System.Web.UI.WebControls.DataBoundControl.ConnectToDataSourceView()     bei System.Web.UI.WebControls.DataBoundControl.OnLoad(EventArgs e)     bei Microsoft.SharePoint.WebControls.SPGridView.OnLoad(EventArgs args)     bei System.Web.UI.Control.LoadRecursive()     bei System.Web.UI.Control.LoadRecursive()     bei System.Web.UI.Control.LoadRecursive()     bei System.Web.UI.Control.LoadRecursive()     bei System.Web.UI.Control.LoadRecursive()     bei System.Web.UI.Control.LoadRecursive()     bei System.Web.UI.Control.LoadRecursive()     bei System.Web.UI.Control.LoadRecursive()     bei System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)     bei System.Web.UI.Page.HandleError(Exception e)     bei System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)     bei System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)     bei System.Web.UI.Page.ProcessRequest()     bei System.Web.UI.Page.ProcessRequest(HttpContext context)     bei System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()     bei System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Die gelöschten Zeilen werden anscheinend doch gebraucht?! Auch wenn ich keine große Lust dazu habe, aber ich fürchte es wird nichts drum herum führen, die Updates der letzten Tage wieder zu entfernen. Jedenfalls habe ich diese im Verdacht.

Ich bin wieder (sporadisch) hier!

Top-10-Beitragsschreiber
18.754 Beiträge

Suche noch einer DataSourceID="OrganizationEditSharingLinksDS" (sollte ein Repeater sein und entferne den ebenfalls.

Florian Adler:
die Updates der letzten Tage wieder zu entfernen. Jedenfalls habe ich diese im Verdacht

Wie oben schon geschrieben, sind die ziemlich sicher an dem Problem schuld. Meiner Meinung nach sollte Microsoft damit aufhören, die Dinger einfach ungefragt zu verteilen. Noch besser wäre allerdings, sie würden ihre Fixes erstmal testen und vor der Auslieferung die Bugs beseitigen...

Viele Grüße
Andi
af @ evocom de
Blog
Top-25-Beitragsschreiber
575 Beiträge

Das würde bedeuten, dass ich diesen ganzen Bereich entfernen müsste:

<SharePoint:SPGridView id="rptrSharingOrganizationEditGroups" runat="server"
    AutoGenerateColumns="false" width="100%" ShowHeader="true"
    DataSourceId="OrganizationEditSharingLinksDS" OnRowCreated="Users_RowCreated"
    >
    <Columns>
      <asp:TemplateField HeaderStyle-CssClass="ms-hide"
            ItemStyle-Width="0">
        <HeaderTemplate>
          <th colspan="4" class="ms-vh">
            <SharePoint:FormattedString FormatText="<%$Resources:wss,user_SharingLinkUsersEdit%>" EncodeMethod="HtmlEncodeAllowSimpleTextFormatting" runat="server">
                <SharePoint:FormattedString FormatText="<%$Resources:wss,user_SharingLinkUsersInOrganizationSuffix%>" EncodeMethod="HtmlEncodeAllowSimpleTextFormatting" runat="server">
                    <asp:Label CssClass="ms-sharingLinks-companyName" runat="server" Text="" />
                </SharePoint:FormattedString>
            </SharePoint:FormattedString>
          </th>
        </HeaderTemplate>
        <ItemTemplate>
          <img src="/_layouts/15/images/blank.gif?rev=40" width='20' height='1' alt="" data-accessibility-nocheck="true"/>
        </ItemTemplate>
      </asp:TemplateField>
    <asp:TemplateField HeaderStyle-CssClass="ms-hide" HeaderText="<%$Resources:wss,user_idHeadingName%>" HeaderStyle-Width="0%"
        SortExpression="FullName" ItemStyle-Width="40%" ShowHeader="false" >
        <ItemTemplate>
            <table cellpadding="0" cellspacing="0">
                <tr>
                    <td class="ms-vb">
                        <%# DataBinder.Eval(Container.DataItem, colIMNControl) %>
                        <a href="#" onclick="<%# SPHttpUtility.NoEncode(DataBinder.Eval(Container.DataItem, colPageLink)) %>">
                            <%# SPHttpUtility.HtmlEncode(DataBinder.Eval(Container.DataItem, colFullAndUserName).ToString()) %>
                        </a>
                    </td>
                </tr>
            </table>
        </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderStyle-CssClass="ms-hide" HeaderText="<%$Resources:wss,user_idHeadingType%>" HeaderStyle-Width="0%"
        SortExpression="PrincipalType" ItemStyle-Width="10%" ShowHeader="false" >
        <ItemTemplate>
            <input type="hidden"   name="PrincipalType"  value="<%# SPHttpUtility.UrlKeyValueEncode((string)DataBinder.Eval(Container.DataItem, colPrincipalType)) %>" />
            <%# SPHttpUtility.HtmlEncode(DataBinder.Eval(Container.DataItem, colType).ToString()) %><img src="/_layouts/15/images/blank.gif?rev=40" width='1' height='1' alt="" data-accessibility-nocheck="true"/>
        </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderStyle-CssClass="ms-hide" HeaderText="<%$Resources:wss,user_idHeadingRole%>" HeaderStyle-Width="0%"
        SortExpression="UserRoles" ItemStyle-Width="50%" ShowHeader="false" >
        <ItemTemplate>
            <%# SPHttpUtility.NoEncode((string)DataBinder.Eval(Container.DataItem, colUserRoles).ToString()) %>
        </ItemTemplate>
    </asp:TemplateField>
    </Columns>
    <emptydatatemplate>
    </emptydatatemplate>
</SharePoint:SPGridView>

Habe ich natürlich einmal ausprobiert und prompt die nächste Warnmeldung um die Ohren gehauen bekommen.

Nächstes Problem: Das KB 3141486 lässt sich nicht deinstallieren. Weder auf die sanfte Art über die Systemsteuerun, noch auf die harte Tour mittels cmd (wusa /uninstall /kb:3141486). Bei letzterem erhalte ich sogar die Auskunft, dass es gar nicht installiert sei. Also den entsprechenden Installer runtergeladen und gestartet. Und siehe da, das Update ist angeblich installiert. Ich frage mich echt, wann sie mal ihre ZeroDownTime-Strategie hochfahren. Allein das KB 3141486 hat ein Gewicht von 386MB und wollte einen Neustart haben.

Ich bin wieder (sporadisch) hier!

Top-25-Beitragsschreiber
575 Beiträge

Ok, case closed. Ich habe in meiner Verzweiflung die SharePoint ISO noch einmal gemountet und bin in \global\wss\sts2.cab fündig geworden. Dort gibt es eine USER.ASX, die sich super "missbrauchen" lässt.

Deren Inhalt habe ich in die ursprüngliche/fehlerhafte user.aspx geschrieben, iisreset und bis jetzt sieht es gut aus. Die Websiteberechtigungen lassen sich wieder fehlerfrei aufrufen, Gruppen erstellen/löschen/manipulieren...

Andi, dein Hinweis mit "das ist bei meiner aspx nicht drin" hätte mich früher stutzig machen sollen. Ich hätte mir gut 2-3 Stunden sparen können. Aber es läuft wieder, wie es soll. Danke für deine Unterstützung!

Ich bin wieder (sporadisch) hier!

Seite 1 von 1 (12 Elemente) | RSS