Aklımda Kalası Kelimeler

* давайте работать вместе
* Zarf ve Mazruf, Zerafet(xHoyratlık) ile aynı kökten(za-ra-fe) gelir
* Bedesten
* Suç subuta ermiştir - Suç sabit olmuştur
Visual Studio etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Visual Studio etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

2 Mayıs 2017 Salı

Unit Test mesajı görüntüleme

using System;
using System.Diagnostics;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Test.FMC.Turkiye.Wcf.EFatura.WCFInvoice;
using System.Windows.Forms;
namespace Test.FMC.Turkiye.Wcf.EFatura {
    [TestClass]
    public class FEInvoiceTest {
        public TestContext TestContext { get; set; }
        static FEInvoiceClient clnt = null;
        [TestInitialize]
        public void Initialize() { clnt = new WCFInvoice.FEInvoiceClient(); }

        [TestCleanup]
        public void Cleanup() { clnt.Close(); clnt = null; }

        [TestMethod]
        public void CreateFEInvoiceClient() {
            var sonuc = clnt.Hello();

            Debug.WriteLine($"Debug mesaj: {sonuc}");
            Console.WriteLine($"Console mesaj: {sonuc}");
            Trace.WriteLine($"Trace mesaj: {sonuc}");
            TestContext.WriteLine($"TestContext mesaj: {sonuc}");
            MessageBox.Show(sonuc);
            Assert.IsTrue(!string.IsNullOrEmpty(sonuc), "Hello çağırılamadı!");
        }
    }
}

13 Nisan 2014 Pazar

Visual Studio ile Remote Debugging - Uzaktan Hata Ayıklama

Visual studio ile uzaktan hata ayıklamak için temel işleri yapınız ve üstüne şuna dikkat ediniz.
Geliştirme yaptığınız, hata ayıklayacağınız Visual Studio makinesinin remote debug yapacağınız makine ile aynı subnette olması gerekiyor!

19 Şubat 2013 Salı

Visual Studio'nun uzun satırları keserek aşağı almasından şikayetçiyim hakim bey

Keske stackoverflow cevabını buraya hızlıca embed edebilecek bir şey olsaydı:
Aşağıdaki cevabın referansı şudur:http://stackoverflow.com/a/238737/104085

Cevap ise Resharper'da aşağıdaki resme ulaşım işareti kaldırmakta:

8 Kasım 2012 Perşembe

Soap Zarfının Header'ına Bilgi Eklemek

En temel haliyle bir web servisi:
using System.Web.Services;

namespace soapWebService
{
    [WebService(Namespace = "http://sanirimbuyok.blogspot.com/WebServisSoapHeader")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    public class Service1 : WebService
    {
        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }
    }
}

Web Servisinin Temel Halinden Ne Nedir?

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
If web service code aren't compliant to WS-I, it still don't generate compilation error, but it will generate error while client add or update web reference.


[WebService(Namespace = "http://tempuri.org/")]
In .NET programming, namespaces are used to prevent name collisions:

namespace A {public class C {}}

namespace B {public class C {}}


Even though the two classes are named "C", they really have different names. One is "A.C" and the other is "B.C". The use of namespaces has prevented a collision between the names.

XML namespaces like the one you're talking about have the same purpose, but for XML. It helps prevent name collisions.

You could start with a simple namespace like http://www.abc.com/, but the problem is that you may experience collisions even within your company. Instead, you may want to get more specific and use something like http://www.abc.com/services/serviceName. You're unlikely to have two names in your one service that collide with each other.

Buna Göre Oluşan İlk Reference.cs (Proxy Sınıfımız)


6 Haziran 2012 Çarşamba

Visual Studio ile Remote Debugging

1)msvsmon.exe(Visual Studio Remote Debugger kurulduğunda gelir/portable halide mevcuttur) ile uzaktaki makinenin dışarıdan debug edilmesi için yol açılır.
2)IIS üzerindeki application(virtual directory) ayrı bir application pool içine kaydırılır(daha kolay görebilmek ve hangi w3wp.exe nin yönettiğini anlamak için.
3)Admin yetkisiyle cmd.exe çalıştırılır.
4)iisapp.vbs çalıştırıldığında aktif application poollar ve onların ilişkili olduğu w3wp.exe uygulamalarının Process ID leri görüntülenir. Önceki görüntülemelerde WSBilgilendirme web servisi aktif olarak kullanılmadığı için w3wp.exe görüntülenmiyor ama browser ile bir çağrı yapıldığında hangi w3wp.exe nin sırtlandığı görülür.


Uygulamanın Visual Studio içinde açılmasının ardından Debug->Attach to Process menüsünden Qualifier kısmına msvsmon.exe içinde görülen bağlantı bilgisi yazılır(vs nin çalıştığı makineye giriş yaptığınız kullanıcı adının msvsmon.exe içinde persmission kısmında tanımlı olması gerekir)

Uzak makinedeki aktif exelerin listesini görebiliyoruz. Bizim PID değerimiz 1832 olduğu için bu satırı seçip attach diyeceğiz.



26 Ocak 2012 Perşembe

Ortak kütüphane bağlantılarım ve cs lerden dll üretme

http://xp-dev.com/svn/Cem_Kutuphane_CSharp/trunk/CemKutuphane/CemKutuphane/bin/Debug/CemKutuphane.dll

Sadece Extensions.dll için:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Csc.exe /noconfig /nowarn:1701,1702 /nostdlib+ /errorreport:prompt /warn:4 /define:DEBUG;TRACE
------- Derlenirken verilecek referans dll dosyaları:
/reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll
/reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll"
/reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll
/debug+
/debug:full
/filealign:512
/optimize-
/out:$(ProjectDir)bin\Debug\Extensions.dll
/target:library
/warnaserror-
------- Derlenecek cs dosyaları:
$(ProjectDir)Extensions.cs
"$(ProjectDir)Properties\AssemblyInfo.cs"

14 Ağustos 2011 Pazar

GetAssemblyName FullName

Assembly nizin tam adını öğrenmek isteriz. Ben isterim :)
Bunu kodla yapmak çok kolay:
    AssemblyName anm = AssemblyName.GetAssemblyName(@"D:\Projects\VS\Cem.Controls.WebKontrol\bin\Debug\Cem.Controls.WebKontrol.dll");

Response.Write(anm.FullName);


Bu işi yapan bir exe'yi Daniel Halan sitesinde yayınlamış:
Daniel Halan 'ın exe dosyası.

Bende önceki yazımda olduğu gibi şu şekilde VS.2010 a ekledim:


Bu da sonucu:

13 Ağustos 2011 Cumartesi

PublicKeyToken bilgisini Output window da görebilmek

Kaynak: http://blogs.msdn.com/b/miah/archive/2008/02/19/visual-studio-tip-get-public-key-token-for-a-stong-named-assembly.aspx
Olmasını istediğimiz durum şudur:
  1. Önce Tools->Get SN Key diye bir menü sekmesi oluşturmak ve buna tıklandığında
  2. Output window içinde assembly'mize ait PublicTokenKey değerini görmek





İşte bu Get SN Key menü sekmesini oluşturmak için Tools->External Tools sekemsine tıklıyor açılan dialog form'dan exe mizi ve bu exeye parametremizi giriyoruz. Tamam dedikten sonra artık Get SN Key menü sekmemiz tamamlanmış oluyor.

12 Ocak 2011 Çarşamba

Visual Studio ile yerel IIS üstünde çalışırken HTTP Error 500.21 hatası aldığında

Ref: http://forums.asp.net/t/1587832.aspx
Yukarıdaki adreste yaşananlar ile benim aldığım sonuç aynı(IIS 7 ve IIS 7.5).


HTTP Error 500.21 - Internal Server Error
Handler "PageHandlerFactory-Integrated" has a bad module "ManagedPipelineHandler" in its module list

* Managed handler is used; however, ASP.NET is not installed or is not installed completely.
* There is a typographical error in the configuration for the handler module list.





14 Nisan 2010 Çarşamba

Kodla javascript breakpoint oluşturmak


C#

#if DEBUG
System.Diagnostics.Debugger.Break();
#endif


JavaScript

function MyCustomValidator(ctl, args)
{
debugger
var grid = igtbl_getGridById("MyGrid");
args.IsValid = grid != null;
}

9 Nisan 2010 Cuma

VS.NET içinde collapse yapan macro

Visual Studio 2008 de herhangi bir dosyanızı (değiştirdiğim için hepsinde deneyemedim ama, hepsini diyelim şimdilik) "//_" karakterleri ile başlayıp "//- " karakterleri ile biten yere kadar katlamaya (collapse için attım bu kelimeyi) yarayan macro aşağıdadır.

Emeği geçen herkese şimdiden teşekkür ederim.

Referans: stackOverFlow.com

Option Explicit On
Option Strict On

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics
Imports System.Collections.Generic

Public Module JsMacros


Sub OutlineRegions()
Dim selection As EnvDTE.TextSelection = CType(DTE.ActiveDocument.Selection, EnvDTE.TextSelection)

'//_ işaretini gördüğü yerden
Const REGION_START As String = "//_ "
'//- işaretine kadar
Const REGION_END As String = "//- "
' xxx karakterSonra başlayarak collapse edecek.
Const karakterSonra As Integer = 20

selection.SelectAll()
Dim text As String = selection.Text
selection.StartOfDocument(True)

Dim startIndex As Integer
Dim endIndex As Integer
Dim lastIndex As Integer = 0
Dim startRegions As New Stack(Of Integer)

Do
startIndex = text.IndexOf(REGION_START, lastIndex)
endIndex = text.IndexOf(REGION_END, lastIndex)

If startIndex = -1 AndAlso endIndex = -1 Then
Exit Do
End If

If startIndex <> -1 AndAlso startIndex < endIndex Then
startRegions.Push(startIndex + karakterSonra)
lastIndex = startIndex + 1
Else
' Outline region ...
Dim tempStartIndex As Integer = CInt(startRegions.Pop())
selection.MoveToLineAndOffset(CalcLineNumber(text, tempStartIndex), CalcLineOffset(text, tempStartIndex))
selection.MoveToLineAndOffset(CalcLineNumber(text, endIndex) + 1, 1, True)
selection.OutlineSection()

lastIndex = endIndex + 1
End If
Loop

selection.StartOfDocument()
End Sub

Private Function CalcLineNumber(ByVal text As String, ByVal index As Integer) As Integer
Dim lineNumber As Integer = 1
Dim i As Integer = 0

While i < index
If text.Chars(i) = vbLf Then
lineNumber += 1
i += 1
End If

If text.Chars(i) = vbCr Then
lineNumber += 1
i += 1
If text.Chars(i) = vbLf Then
i += 1 'Swallow the next vbLf
End If
End If

i += 1
End While

Return lineNumber
End Function

Private Function CalcLineOffset(ByVal text As String, ByVal index As Integer) As Integer
Dim offset As Integer = 1
Dim i As Integer = index - 1

'Count backwards from //#region to the previous line counting the white spaces
Dim whiteSpaces = 1
While i >= 0
Dim chr As Char = text.Chars(i)
If chr = vbCr Or chr = vbLf Then
whiteSpaces = offset
Exit While
End If
i -= 1
offset += 1
End While

'Count forwards from //#region to the end of the region line
i = index
offset = 0
Do
Dim chr As Char = text.Chars(i)
If chr = vbCr Or chr = vbLf Then
Return whiteSpaces + offset
End If
offset += 1
i += 1
Loop

Return whiteSpaces
End Function

End Module

27 Aralık 2008 Cumartesi

Team System Architecture vs Team Suite

Team System Architecture Edition


Team Suite

15 Aralık 2008 Pazartesi

Cannot implicitly convert type 'zzz' to 'aaa'. An explicit conversion exists (are you missing a cast?)


Cannot implicitly convert type 'ustClass' to 'altClass'. An explicit conversion exists (are you missing a cast?)

Nedeni aşikar:
Üst sınıfı (inherit edilen sınıfı), alt sınıfa atamaya çalışmak. Bu tıpkı, tüm hayvanlar memelidir ya da tüm kişiler hastadır, ya da tüm arabalar serçedir demek gibidir.

Debugger özellikleri - DebuggerDisplay


Debugger özellikleri - DebuggerBrowsableState


Visual Studio Debugger özellikleri

'DebuggerDisplay' is not valid on this declaration type. It is only valid on 'assembly, class, struct, enum, property, indexer, field, delegate' declarations.

'DebuggerHidden' is not valid on this declaration type. It is only valid on 'constructor, method, property, indexer' declarations.

'Debuggable' is not valid on this declaration type. It is only valid on 'assembly, module' declarations.

'DebuggerNonUserCode' is not valid on this declaration type. It is only valid on 'class, struct, constructor, method, property, indexer' declarations.

VS.NET içinden hızlıca google araması yapabilmek


ref:http://www.codinghorror.com/blog/archives/000429.html

    1 Imports System


    2 Imports EnvDTE


    3 Imports EnvDTE80


    4 Imports EnvDTE90


    5 Imports System.Diagnostics


    6 Imports System.Web


    7 


    8 


    9 Public Module Module1


   10 


   11     Public Sub SearchGoogleForSelectedText()


   12         Dim s As String = ActiveWindowSelection().Trim()


   13         If s.Length > 0 Then


   14             DTE.ItemOperations.Navigate("http://www.google.com/search?q=" & _


   15                 Web.HttpUtility.UrlEncode(s))


   16         End If


   17     End Sub


   18 


   19     Private Function ActiveWindowSelection() As String


   20         If DTE.ActiveWindow.ObjectKind = EnvDTE.Constants.vsWindowKindOutput Then


   21             Return OutputWindowSelection()


   22         End If


   23         If DTE.ActiveWindow.ObjectKind = "{57312C73-6202-49E9-B1E1-40EA1A6DC1F6}" Then


   24             Return HTMLEditorSelection()


   25         End If


   26         Return SelectionText(DTE.ActiveWindow.Selection)


   27     End Function


   28 


   29     Private Function HTMLEditorSelection() As String


   30         Dim hw As HTMLWindow = ActiveDocument.ActiveWindow.Object


   31         Dim tw As TextWindow = hw.CurrentTabObject


   32         Return SelectionText(tw.Selection)


   33     End Function


   34 


   35     Private Function OutputWindowSelection() As String


   36         Dim w As Window = DTE.Windows.Item(EnvDTE.Constants.vsWindowKindOutput)


   37         Dim ow As OutputWindow = w.Object


   38         Dim owp As OutputWindowPane = ow.OutputWindowPanes.Item(ow.ActivePane.Name)


   39         Return SelectionText(owp.TextDocument.Selection)


   40     End Function


   41 


   42     Private Function SelectionText(ByVal sel As EnvDTE.TextSelection) As String


   43         If sel Is Nothing Then


   44             Return ""


   45         End If


   46         If sel.Text.Length = 0 Then


   47             SelectWord(sel)


   48         End If


   49         If sel.Text.Length <= 2 Then


   50             Return ""


   51         End If


   52         Return sel.Text


   53     End Function


   54 


   55     Private Sub SelectWord(ByVal sel As EnvDTE.TextSelection)


   56         Dim leftPos As Integer


   57         Dim line As Integer


   58         Dim pt As EnvDTE.EditPoint = sel.ActivePoint.CreateEditPoint()


   59 


   60         sel.WordLeft(True, 1)


   61         line = sel.TextRanges.Item(1).StartPoint.Line


   62         leftPos = sel.TextRanges.Item(1).StartPoint.LineCharOffset


   63         pt.MoveToLineAndOffset(line, leftPos)


   64         sel.MoveToPoint(pt)


   65         sel.WordRight(True, 1)


   66     End Sub


   67 


   68 End Module


   69 




Şimdi nasıl yapacağız:
  1. "VS.NET -> Tools -> Macros -> New Macro Project" açılan ekranda herşeyi seçin ve, yukarıdaki kodu yapıştırın
  2. (Yeni modul oluştu ve adı Module1, siz keyfinize göre değiştirin)
  3. "Add References" ile "System.Drawing.dll" ve "System.Web.dll" eklenir ve kaydedilerek bu IDE den çıkılır.
  4. Google da aramalarınıza kısayol eklemek için "Tools -> Options -> Environment -> Keyboard" tıklarından geçip "Show command containing string" alanına "google" yazın gelsin macromuz.
  5. "Shortcut for selected command" altına tıklayıp dilediğiniz kısayol tuşunu oluşturun ve hayrını görün :)