Avatar billede bluwduch Nybegynder
20. september 2004 - 15:53 Der er 8 kommentarer og
1 løsning

Debug / Prod opsætning

Hejsa

Jeg arbejder med min applikation i et udviklingsmiljø hvor der bl.a. fungerer et sæt IP'er til nogle servere - Når applikationen sættes i prod, så er disse IP'er noget andet.

Er der en måde hvorpå jeg udfra debug/release opsætning kan lave mit program så alle debug omstændighederne bliver skiftet ud med prod og omvendt - Så så det ikke er så omstændigt at skulle rette ting og den slags? Dvs. sætte et debug-flag så man kan gøre lidt a'la det her (pseudo):

if #debug then
    ip = xxx.xxx.xxx.xxx
else
    ip = yyy.yyy.yyy.yyy
end if


Mvh
Daniel
Avatar billede arne_v Ekspert
20. september 2004 - 16:06 #1
Det ligger lidt udenfor mit ekspertise område.

Men jeg tror at jeg ville putte det i en konfigurations fil.

Det kan håndtere både prod/debug environment og mange andre krav d.v.s. er
mere fleksibelt.
Avatar billede jepsen999 Nybegynder
20. september 2004 - 17:55 #2
using System;
public class MyClass
{
    public static void Main()
    {

        #if (DEBUG )
                        Console.WriteLine("DEBUG is defined");
        #else
                        Console.WriteLine("DEBUG is not defined");
        #endif
        Console.ReadLine();
    }
}

Når du compiler med debug vil første linie blive udskrevet. Når du kører release vil anden linie blive udskrevet.

Se mere på http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vclrfif.asp
Avatar billede jepsen999 Nybegynder
20. september 2004 - 22:58 #3
Hvis du kompilerer med visual studio kommer det af sig selv. Hvis du kompilerer fra en command-prompt skal du skrive:
csc MyClass.cs /define:DEBUG
Avatar billede bluwduch Nybegynder
21. september 2004 - 09:08 #4
Det var lige det jeg skulle bruge, jepsen - Fornemt :o)
Avatar billede bluwduch Nybegynder
21. september 2004 - 09:16 #5
Så skal jeg bare lige finde ud af hvordan man gør i VB.NET :o)
Avatar billede bluwduch Nybegynder
21. september 2004 - 09:25 #6
Tilsyneladende skal man bare bruge #const istedet
Avatar billede jepsen999 Nybegynder
21. september 2004 - 18:04 #7
Du kan også bruge DEBUG i VB.
Module Module1
    Sub Main()
        Dim ip As String

#If (Debug) Then
        ip = "127.0.0.1 - debug"
#Else
        ip = "127.0.0.2 - release"
#End If
        Console.Write(ip)
        Console.ReadLine()
    End Sub

End Module

Har du visual studio?
- Vis properties på dit projekt
- Vælg "Configuration properties"
- Vælg "Build"
- Se om punktet "Define DEBUG constant" har flueben.
Fluebenet er sat alt efter om du har valgt debug eller release (med mindre du ændrer det manuelt).
Avatar billede jepsen999 Nybegynder
21. september 2004 - 18:12 #8
Hvis du ikke har visual studio:
Release:
vbc Module1.vb /imports:System

Debug:
vbc Module1.vb /imports:System /define:DEBUG=1
Avatar billede bluwduch Nybegynder
22. september 2004 - 09:13 #9
Hej Jepsen - Det er super - takker :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester