8 messaggi dal 02 ottobre 2004
Ciao a tutti
in una macchina Windows Server 2008 R2 con VS 2010 sto lavorando su una web application che ha 7 assembly referenziati.
In ambiente di sviluppo funziona tutto correttamente. Quando effettuo il deployment sotto IIS 7.0 la web application non vede il reference
di un assembly. Ho provato a compilare e deployare tutte le applicazioni in x86, x64, Fx. 3.5 e Fx. 4.0 ma dà sempre lo stesso errore:

Compiler Error Message: CS0246: The type or namespace name 'NBMI' could not be found (are you missing a using directive or an assembly reference?)

Nell'event viewer appare il eseguente warning:

Log Name: Application
Source: ASP.NET 2.0.50727.0
Date: 6/29/2011 3:18:53 PM
Event ID: 1310
Task Category: Web Event
Level: Warning
Keywords: Classic
User: N/A
Computer: MILBIZTALK01.corp.tamoild1.local
Description:
Event code: 3006
Event message: A parser error has occurred.
Event time: 6/29/2011 3:18:53 PM
Event time (UTC): 6/29/2011 1:18:53 PM
Event ID: bf12155e489046ddaca44149507dabb4
Event sequence: 37
Event occurrence: 2
Event detail code: 0

Application information:
Application domain: /LM/W3SVC/1/ROOT/BizWeb-1-129538261361719973
Trust level: Full
Application Virtual Path: /BizWeb
Application Path: D:\Tambiz\Dev\BizWeb\
Machine name: MILBIZTALK01

Process information:
Process ID: 4876
Process name: w3wp.exe
Account name: IIS APPPOOL\Default

Exception information:
Exception type: HttpParseException
Exception message: d:\Tambiz\Dev\BizWeb\modules\SingleLogicError.ascx.cs(24): error CS0246: The type or namespace name 'NBMI' could not be found (are you missing a using directive or an assembly reference?)

Request information:
Request URL: http://localhost/BizWeb/viewsingleLogicError.aspx?Cod=208&Element=
Request path: /BizWeb/viewsingleLogicError.aspx
User host address: ::1
User: CORP\bizaxapta
Is authenticated: True
Authentication Type: Negotiate
Thread account name: CORP\bizaxapta

Thread information:
Thread ID: 7
Thread account name: CORP\bizaxapta
Is impersonating: False
Stack trace: at System.Web.UI.TemplateParser.ProcessException(Exception ex)
at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding)
at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding)
at System.Web.UI.TemplateParser.ParseFile(String physicalPath, VirtualPath virtualPath)
at System.Web.UI.TemplateParser.ParseInternal()
at System.Web.UI.TemplateParser.Parse()
at System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType()
at System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider buildProvider)
at System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders()
at System.Web.Compilation.BuildProvidersCompiler.PerformBuild()
at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)
at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile)
at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile)
at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean noAssert)
at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp, Boolean noAssert)
at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
at System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)


Custom event details:

Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="ASP.NET 2.0.50727.0" />
<EventID Qualifiers="32768">1310</EventID>
<Level>3</Level>
<Task>3</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2011-06-29T13:18:53.000000000Z" />
<EventRecordID>22516</EventRecordID>
<Channel>Application</Channel>
<Computer>MILBIZTALK01.corp.tamoild1.local</Computer>
<Security />
</System>
<EventData>
<Data>3006</Data>
<Data>A parser error has occurred.</Data>
<Data>6/29/2011 3:18:53 PM</Data>
<Data>6/29/2011 1:18:53 PM</Data>
<Data>bf12155e489046ddaca44149507dabb4</Data>
<Data>37</Data>
<Data>2</Data>
<Data>0</Data>
<Data>/LM/W3SVC/1/ROOT/BizWeb-1-129538261361719973</Data>
<Data>Full</Data>
<Data>/BizWeb</Data>
<Data>D:\Tambiz\Dev\BizWeb\</Data>
<Data>MILBIZTALK01</Data>
<Data>
</Data>
<Data>4876</Data>
<Data>w3wp.exe</Data>
<Data>IIS APPPOOL\Default</Data>
<Data>HttpParseException</Data>
<Data>d:\Tambiz\Dev\BizWeb\modules\SingleLogicError.ascx.cs(24): error CS0246: The type or namespace name 'NBMI' could not be found (are you missing a using directive or an assembly reference?)</Data>
<Data>http://localhost/BizWeb/viewsingleLogicError.aspx?Cod=208&amp;Element=</Data>
<Data>/BizWeb/viewsingleLogicError.aspx</Data>
<Data>::1</Data>
<Data>CORP\bizaxapta</Data>
<Data>True</Data>
<Data>Negotiate</Data>
<Data>CORP\bizaxapta</Data>
<Data>7</Data>
<Data>CORP\bizaxapta</Data>
<Data>False</Data>
<Data> at System.Web.UI.TemplateParser.ProcessException(Exception ex)
at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding)
at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding)
at System.Web.UI.TemplateParser.ParseFile(String physicalPath, VirtualPath virtualPath)
at System.Web.UI.TemplateParser.ParseInternal()
at System.Web.UI.TemplateParser.Parse()
at System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType()
at System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider buildProvider)
at System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders()
at System.Web.Compilation.BuildProvidersCompiler.PerformBuild()
at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)
at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile)
at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile)
at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean noAssert)
at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp, Boolean noAssert)
at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
at System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)
</Data>
</EventData>
</Event>

Dove ho sbagliato? Come faccio a risolvere il problema?
Grazie in anticipo
11.886 messaggi dal 09 febbraio 2002
Contributi
Credo che Visual Studio non ti abbia copiato l'assembly in questione nella cartella /bin dell'applicazione web. Intendo l'assembly che contiene le classi del namespace "NBMI".

Questo può capitare se quell'assembly si trova nella GAC del tuo PC di sviluppo. Visual Studio per default non effettua la copia degli assembly che si trovano lì.

Puoi risolvere in uno di questi due modi:

- Carichi l'assembly mancante anche nella GAC del server, ovvero nella cartella %windir%/assembly. Questo è consigliato se l'assembly viene/verrà usato anche da altre applicazioni web;

- Oppure, molto più semplicemente, puoi indicare a Visual Studio di copiarti l'assembly nella cartella /bin. Questo puoi farlo dal Solution Explorer di Visual Studio, espandendo la cartella "References". Lì sotto troverai l'assembly in questione, fai tasto destro su di esso e poi clicca "Properties". Nel pannello delle proprietà vedrai che la voce "Copy Local" è impostata su False. Settala a True e poi ripubblica l'applicazione. Dovrebbe andare...

ciao,
Modificato da BrightSoul il 29 giugno 2011 20.44 -

Enjoy learning and just keep making
8 messaggi dal 02 ottobre 2004
Ciao
con il primo metodo che mi hai indicato il tutto è andato a posto.
Controllando l'applicazione web ho la presenza di un altro errore nel momento in cui chiamo una funzione presente nell'assembly:

System.ArgumentException: The path is not of a legal form.

In debug da VS2010 non ho la presenza di questo errore ma quando deployo la web applicazione sotto IIS 7.0 si genera questo errore quando chiamo la funzione. Ho lo stesso comportamento anche quando chiamo le analoghe funzioni presenti negli altri assembly. Devo settare qualcosa su IIS 7.0?
Grazie in anticipo
8 messaggi dal 02 ottobre 2004
Ciao
in realtà l'errore che avevo era questo:
'Unable to load DLL 'librfc32.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)'

Per risolverlo ho utilizzato quanto qui indicato:

http://biztalkia.com/blogs/enricozerilli/archive/2011/06/30/unable-to-load-dll-librfc32-dll-the-specified-module-could-not-be-found-exception-from-hresult-0x8007007e-sap-connector-iis-7-0.aspx

Grazie a tutti dell'aiuto
Saluti

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.