Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz

  Gelişmiş Arama
insanın içinde varsa, commodore.gen.tr açığa çıkarır bunu.. bir nevi retro olaylarının dolunayıyız.(Arda)
commodore.gen.trGenel KategoriProjeAsp.Net Sunucuda Çalışmıyor
Sayfa: [1]   Aşağı git
Yazdır
Gönderen Konu: Asp.Net Sunucuda Çalışmıyor  (Okunma Sayısı 2880 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
programci42
Üye
***
Mesaj Sayısı: 227


Üyelik Bilgileri
« : Ekim 05, 2021, 08:22:24 ÖÖ »

Herkese merhaba arkadaşlar şöyle bir sorunum var benim yerel makinede visual studio ile asp.net üzerinde testler yaparken excel dosyasına bağlantı kurup o dosyada istedim değişikliği yaptırabiliyorum ya da sadece bu değil örneğin başka bir üçüncü taraf dll dosyasını kullanarak bazı işlemler yapabiliyorum ancak bunu sunucuya attımda çalışmıyor app_bin klasörü içinde gerekli dll dosyaları olmasına rağmen sunucuda site çalışmıyor bunun sebebi nedir anlayamadım.

Kodcuk Şu:
Kod:
<%@ Import Namespace="Microsoft.Office.Interop.Excel" %>
<!DOCTYPE html>
<head>

</head>
<html>
<body>
    <%
        Try
            Dim ExcelUygulama As New Microsoft.Office.Interop.Excel.Application
            Dim ExcelProje As Microsoft.Office.Interop.Excel.Workbook
            Dim ExcelSayfa As Microsoft.Office.Interop.Excel.Worksheet
            Dim ExcelRange As Microsoft.Office.Interop.Excel.Range
            Dim missing As Object = System.Reflection.Missing.Value
            ExcelProje = ExcelUygulama.Workbooks.Open(Server.MapPath("./form.xlsx"))
            ExcelSayfa = ExcelProje.Worksheets(1)
            ExcelUygulama.Visible = False
            ExcelUygulama.AlertBeforeOverwriting = False

            ExcelRange = ExcelSayfa.Evaluate("J9")
            ExcelRange.Value2 = "Test"
            ExcelRange.Value = "Test"
            ExcelProje.Save()
            ExcelProje.Close()
            ExcelUygulama.Quit()
            Response.Write("<h1>KOD CALISTI</h1>")
        Catch ex As Exception
            Response.Write("<h1>HATA: " & ex.Message & "</h1>")
        End Try
        %>
</body>
</html>

HATA şu:
Derleme Hatası
Açıklama: Bu isteğe hizmet vermek için gereken bir kaynağın derlenmesi sırasında bir hata oluştu. Lütfen aşağıdaki belirli hata ayrıntılarını inceleyin ve kaynak kodunuzu uygun şekilde değiştirin.

Derleyici Hata Mesajı: BC30002: 'Microsoft.Office.Interop.Excel.Application' tipi tanımlı değil.


Gerekli olan tüm dlller zaten app_bin klasöründe var neden görmüyor sunucu orayı anlamadım visual studio da gayet güzel çalışıür 
Logged
Theoden (CYON4D)
Deneyimli
*****
Mesaj Sayısı: 1.869



Üyelik Bilgileri WWW
« Yanıtla #1 : Ekim 05, 2021, 09:32:10 ÖÖ »

ASP ile proje yapmadım ancak aklıma gelen şu:
Sunucuda Microsoft Office kurulu mu?
Verdiği hata Excel ile ilgili DLL'leri bulamamasından olabilir. Benzer şeyler bazı C# projelerimde .Net Framework'te başıma gelmişti.
Logged

programci42
Üye
***
Mesaj Sayısı: 227


Üyelik Bilgileri
« Yanıtla #2 : Ekim 05, 2021, 09:40:58 ÖÖ »

Evet sunucuda ofis kurulu tabi ama kurulu olmasa bile gerekli dll dosyaları proje içinde zaten var.
Logged
Theoden (CYON4D)
Deneyimli
*****
Mesaj Sayısı: 1.869



Üyelik Bilgileri WWW
« Yanıtla #3 : Ekim 05, 2021, 09:53:04 ÖÖ »

Evet sunucuda ofis kurulu tabi ama kurulu olmasa bile gerekli dll dosyaları proje içinde zaten var.

DLL olsa bile kurulum olmadığı için .Net sorun çıkartabiliyordu.
Logged

Theoden (CYON4D)
Deneyimli
*****
Mesaj Sayısı: 1.869



Üyelik Bilgileri WWW
« Yanıtla #4 : Ekim 05, 2021, 09:59:15 ÖÖ »

"Excel.Application" kısmını sadece "Application" olarak değiştirip deneyebilirsiniz.
Bir de "Dim ExcelUygulama As New Microsoft.Office.Interop.Excel.Application" kısmındaki "new" olmadan deneyin.

Şu da denenebilir:

Kod:
xlApplication = CreateObject("Excel.Application")


Bu arada Project içinden References > Add Reference > Microsoft Excel Object Library olarak projeye referans ekli mi?
« Son Düzenleme: Ekim 05, 2021, 10:03:52 ÖÖ Gönderen: Theoden (Arethrid) » Logged

egemur
Üye
****
Mesaj Sayısı: 397



Üyelik Bilgileri WWW
« Yanıtla #5 : Ekim 05, 2021, 11:50:43 ÖÖ »

Merhaba, Bazen gerekli dll dosyaları olsa da referans dll’lerin kullandığı başka referans dll’ler olabiliiyor. Varsa bu dll’lerin de app_bin dizininde olması gerekir. Lokaldeki app_bin dizini ile sunucudaki app_bin dizinindeki dll’leri karşılaştırabilirsin.  Fark varsa anlamsız gözülen bir dll  ofis dll’leri tarafından kullanılıyor olabilir.
Logged

Commodore 64/64c - 1541 Ultimate+ - Ultimate 64 Elite
Amiga 500 - Gotek Floppy Drive
programci42
Üye
***
Mesaj Sayısı: 227


Üyelik Bilgileri
« Yanıtla #6 : Ekim 05, 2021, 13:51:59 ÖS »

"Excel.Application" kısmını sadece "Application" olarak değiştirip deneyebilirsiniz.
Bir de "Dim ExcelUygulama As New Microsoft.Office.Interop.Excel.Application" kısmındaki "new" olmadan deneyin.

Şu da denenebilir:

Kod:
xlApplication = CreateObject("Excel.Application")


Bu arada Project içinden References > Add Reference > Microsoft Excel Object Library olarak projeye referans ekli mi?


Excel.Application kısmını sadece Application olarak yazaman çünkü Appliacation Excel in bi üst kümesi ya da onun bi üst sınıfı diyebilirim.

Bunun dışında tabiki de projeye gerekli dll dosyaları referans olarak eklendi app_bin klasöründeki dosyalar yereldekiyle aynı içeriğe sahip.

Sayfa yüklenirken o dll dosyalarını bi şekilde import edemiyor ya da görmüyor bunu niye yapıyor buna anlam veremiyorum aynı kod aynı dosya yerel ve sunucu farketmemesi lazım.
Logged
Sayfa: [1]   Yukarı git
Yazdır
Gitmek istediğiniz yer: