commodore.gen.tr

Genel Kategori => Proje => Konuyu başlatan: programci42 üzerinde Ekim 05, 2021, 08:22:24 ÖÖ



Konu Başlığı: Asp.Net Sunucuda Çalışmıyor
Gönderen: programci42 üzerinde 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  :-[


Konu Başlığı: Ynt: Asp.Net Sunucuda Çalışmıyor
Gönderen: Theoden (CYON4D) üzerinde 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.


Konu Başlığı: Ynt: Asp.Net Sunucuda Çalışmıyor
Gönderen: programci42 üzerinde Ekim 05, 2021, 09:40:58 ÖÖ
Evet sunucuda ofis kurulu tabi ama kurulu olmasa bile gerekli dll dosyaları proje içinde zaten var.


Konu Başlığı: Ynt: Asp.Net Sunucuda Çalışmıyor
Gönderen: Theoden (CYON4D) üzerinde 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.


Konu Başlığı: Ynt: Asp.Net Sunucuda Çalışmıyor
Gönderen: Theoden (CYON4D) üzerinde 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?


Konu Başlığı: Ynt: Asp.Net Sunucuda Çalışmıyor
Gönderen: egemur üzerinde 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.


Konu Başlığı: Ynt: Asp.Net Sunucuda Çalışmıyor
Gönderen: programci42 üzerinde 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.