SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




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

Geprüfte Antwort Dieser Beitrag hat 11 Antworten

Ohne Rang
611 Beiträge
Florian Adler erstellt 25 Jan. 2017 10:12
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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...

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 25 Jan. 2017 11:35
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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
Ohne Rang
611 Beiträge
Florian Adler Als Antwort am 25 Jan. 2017 11:45
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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!

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 25 Jan. 2017 12:55
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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
Ohne Rang
611 Beiträge
Florian Adler Als Antwort am 25 Jan. 2017 14:44
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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!

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 25 Jan. 2017 15:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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
Ohne Rang
611 Beiträge
Florian Adler Als Antwort am 25 Jan. 2017 15:11
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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!

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 25 Jan. 2017 15:51
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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
Ohne Rang
611 Beiträge
Florian Adler Als Antwort am 26 Jan. 2017 11:11
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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!

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 26 Jan. 2017 11:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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

[quote user="Florian Adler"]die Updates der letzten Tage wieder zu entfernen. Jedenfalls habe ich diese im Verdacht[/quote]

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
Ohne Rang
611 Beiträge
Florian Adler Als Antwort am 26 Jan. 2017 14:33
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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!

Ohne Rang
611 Beiträge
Florian Adler Als Antwort am 26 Jan. 2017 15:02
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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!