Oprava: Nelze kompilovat kódem na pozadí soubory používající atribut Src sdílení UNC

Překlady článku Překlady článku
ID článku: 313105 - Produkty, které se vztahují k tomuto článku.
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Při kompilaci webového formuláře, kompilace může selhat v ASP.NET a pravděpodobně zobrazí následující chybová zpráva (nebo podobná):
Chybová zpráva kompilátoru: CS2001: zdrojový soubor
'\\server\sharename\webform1.aspx.cs nebyl nalezen.
K této chybě může dojít, pokud jsou splněny následující podmínky:
  • Model kódem na pozadí je používán.
  • Stránka využívá dynamické kompilace s atributem Src a sdílet body atribut Src souboru na vzdáleném počítači pomocí Universal Naming Convention (UNC).
  • V souboru web.config je povoleno zosobnění.

Příčina

K tomuto problému dochází, protože kompilátor spuštěna s identitou pracovního procesu a pracovní proces může být schopen číst vzdálené sdílené položky. Protože ASP.NET používá token zosobnění čtení stránky, stránky ASP.NET přečte úspěšně.

Řešení

Chcete-li tento problém vyřešit, použijte jednu z následujících metod:
  • Poskytnout sdílet přístup k účtu, který je použit pro pracovní proces. Jestliže pomocí systémového účtu nebo síťové službě můžete poskytnout přístup k účtu počítače.

    Udělit přístup k účtu počítače, postupujte takto:
    1. Klepněte pravým tlačítkem myši na sdílené položce a potom klepněte na příkaz Vlastnosti.
    2. Na kartě sdílení klepněte na tlačítko oprávnění a potom klepněte na tlačítko Přidat.
    3. Zadejte název serveru a potom klepněte na tlačítko Kontrola jmen. Zobrazí jako název_počítače $ ve skupinovém rámečku Oprávnění sdílení v dialogovém okně oprávnění této sdílené položky.
  • Použít soubory kódem na pozadí s předkompilovaný dynamických knihoven (DLL) namísto dynamické kompilace.
  • Použít soubory jediné stránky, nikoli soubory kódem na pozadí.
  • Spustit pracovní proces jako účet přístup ke sdílené položce. Tuto konfiguraci použít uživatelské jméno a heslo atributy prvek processModel souboru.

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o chybu v produktech společnosti uvedených na začátku tohoto článku. Tato chyba byla opravena v (součástí .NET Framework) ASP.NET 1.1 a .NET Framework 1.1.

Další informace

Kroky pro reprodukci chování

  1. Vytvořte stránku ASPX s názvem Webform1.aspx.
  2. Použijte jednu z následujících příkladů pro direktivu stránky:
    <%@ Page language="c#"  Codebehind="WebForm1.aspx.cs"  Src = "WebForm1.aspx.cs" %>
    					
    Nebo
    <%@ Page language="vb"  Codebehind="WebForm1.aspx.vb"  Src = "WebForm1.aspx.vb" %>
    					
  3. Vytvoření stránky pozadí kód a název podle na stránce direktivy, které jste vybrali v kroku 2.
  4. Přidat uživatele domény (doména\uživatel) k počítači jako správce.
  5. Vytvořit sdílení a úplná oprávnění přidělit pouze uživatele domény.
  6. Ve Správci služeb sítě Internet vytvořit aplikaci Internet Information Server (IIS) a potom použít doména\uživatel pro připojení - jako.
  7. Vytvoření virtuálního adresáře aplikace, která odkazuje na sdílené položky, které jste vytvořili.
  8. Přesunout WebForm1.aspx a soubor kódem na pozadí do sdílené položky.
  9. Vytvořit nový soubor web.config a přidejte následující kód:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.web>
        <authentication mode="Windows" />
        <identity impersonate="true" userName="domain\user" password="password" /> 
     </system.web>
    </configuration>
    					
  10. Zkopírujte soubor web.config do virtuálního adresáře pro webovou aplikaci přidejte soubor aplikaci IIS.
  11. Přejděte na stránku.

Vlastnosti

ID článku: 313105 - Poslední aktualizace: 28. února 2014 - Revize: 2.3
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft ASP.NET 1.0
  • Microsoft .NET Framework 1.0
Klíčová slova: 
kbnosurvey kbarchive kbmt kbfix kbbug kbconfig kbdeployment kbnofix kbreadme kbsecurity kbweb KB313105 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:313105

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com