app.config mit in exe einbetten
-
Hi,
ich möchte gerne ein Programm schreiben, welches nur aus einer EXE-Datei besteht (ohne Installation). Das Programm greift auf einen Webservice zu.
Beim Erstellen wird eine PROGRAMMNAME.exe.config mit im Release-Verzeichnis erstellt. Diese muss mit ausgeliefert werden, sonst läuft das Programm nicht.
Leider habe ich keine Möglichkeit gefunden, diese config-Datei mit in die exe einzubetten. Wenn ich den Buildvorgang der app.config auf "eingebettete resource" stelle, gibts eine fehlermeldung, beim zugriff auf den webservice. die gleiche fehlermeldung bekomme ich, wenn die app.config nicht mit im ausführungsverzeichnis der exe liegt.
Gibts dafür eine Lösung?
-
Der Sinn der app.config ist es ja nicht in der Exe zu liegen, warum sollte es dann so eine Möglichkeit geben?
Soweit ich weiss müsste die config aus der Solution entfernt werden können, vorausgesetzt man legt darin nichts ab.
-
Hi,
entfernen kann ich sie nicht, weil dort wichtige Daten drin stehen, wie die URL zu meinem Webservice.
Ich möchte sie aber irgendwie mit in die exe stecken. Ich sehe keinen Grund sie außerhalb zu speichern, sie soll ja schließlich nicht verändert werden.
-
Wenn die Daten nicht verändert werden sollen, dann kannst du die Werte doch gleich fest im Code schreiben, und brauchst erst gar keine Configdatei.
-
Talla schrieb:
Wenn die Daten nicht verändert werden sollen, dann kannst du die Werte doch gleich fest im Code schreiben, und brauchst erst gar keine Configdatei.
kannst du mir sagen, wie das geht?
das ist der inhalt meiner app.config:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.serviceModel> <bindings> <basicHttpBinding> <binding name="BeispielToolBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"> <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" /> <security mode="None"> <transport clientCredentialType="None" proxyCredentialType="None" realm="" /> <message clientCredentialType="UserName" algorithmSuite="Default" /> </security> </binding> </basicHttpBinding> </bindings> <client> <endpoint address="http://www.meinewebsite.de/BeispielTool.wsdl" binding="basicHttpBinding" bindingConfiguration="BeispielToolBinding" contract="ServiceReference1.BeispielToolPortType" name="BeispielToolPort" /> </client> </system.serviceModel> </configuration>
und so erzeuge ich eine neue Instanz meines Webservices in meiner Windows-Anwendung:
ServiceReference1.BeispielToolPortTypeClient wsSM = new BeispielTool.ServiceReference1.BeispielToolPortTypeClient();
-
_ravel schrieb:
kannst du mir sagen, wie das geht?
Das meinst Du nicht ernst, oder?
Das sind Anfängerbasics die Du überall findest, Stichwort Variablen.
-
SeboStone schrieb:
_ravel schrieb:
kannst du mir sagen, wie das geht?
Das meinst Du nicht ernst, oder?
Das sind Anfängerbasics die Du überall findest, Stichwort Variablen.
OMG! Dann sag doch einfach, wie ich meiner Webservice-Instanz diese Eigenschaften, die in der app.config stehen, zuweisen kann!
Sobald ich eine Instanz des Webservices erstelle, gibts schon die Fehlermeldung, wenn die app.config nicht vorliegt. Aber erst nachdem ich die Instanz erstellt habe, kann ich auf die Eigenschaften, wie URL, Site usw zugreifen.
-
SeboStone: war ja klar, dass jetzt nichts mehr von dir kommt...
-
Deine Frage wurde bereits beantwortet. Keiner antwortet Dir mehr, weil das jeder bemerkt hat.