Sachverhalt: Sachverhalt: A. A.a Die A._ GmbH (Klägerin) ist eine Gesellschaft mit Sitz im Kanton X._, die sich mit Softwareentwicklung und der Integration von EDV-Lösungen befasst. Die B._ AG (Beklagte) hat ihren Sitz in XY._. Sie übernahm anlässlich einer Kapitalerhöhung am 26. Juni 2002 als Sacheinlage sämtliche Aktiven und Passiven des kommunalen Unternehmens "Industrielle Betriebe der Stadt XY._" gemäss Bilanz per 1. Januar 2002. Die Beklagte bzw. ihre Rechtsvorgängerin verwendete für die Energieverrechnung einerseits und die Buchhaltung anderseits ursprünglich zwei voneinander unabhängige EDV-Systeme. In der Folge entschloss sie sich aber, ihre Informatikbedürfnisse mit einer Eigenentwicklung abzudecken. Zu diesem Zweck vereinbarte die Beklagte Ende 1996 mit der Klägerin, der C._ sowie der D._ GmbH eine Zusammenarbeit mit dem Ziel, eine Software zu entwickeln, welche nach der erfolgreichen Implementierung bei der Beklagten auch an andere industrielle Betriebe verkauft werden sollte. Anfangs 1997 wurde das Projekt unter dem Namen "Z._" gestartet. Die Klägerin und die C._ übernahmen die Entwicklung der Software. Für ihre Leistungen stellten sie der Beklagten Fr. 100.-- pro Arbeitsstunde in Rechnung. Die Beklagte ihrerseits stellte ihr Know-how als Systemanwender und ein Büro mit Infrastruktur zur Verfügung. Die D._ GmbH beteiligte sich nach wenigen Sitzungen nicht mehr am Projekt. Mitte 1999 zog sich auch die C._ für ein Jahr aus dem Projekt zurück. Die von ihr zu leistende Entwicklungsarbeit wurde von der Klägerin übernommen. A.b Ende März 2001 fand bei der Beklagten die Implementierung der neu entwickelten Energiefakturierungs-Software statt. Damit war aus Sicht der Klägerin die Entwicklungsarbeit beendet. Sie ersuchte daher die Beklagte am 27. August 2001 um einen Termin zur Besprechung der strategischen Vermarktung der aus dem Projekt entstandenen Software-Plattform. An der Sitzung vom 4. September 2001 erklärte der Direktor der Beklagten, diese wolle sich nicht aktiv an der Vermarktung der Software beteiligen. Weil die Energieverrechnung nicht funktionierte, war die Beklagte weiterhin auf die Dienste der Klägerin angewiesen. Die Klägerin wollte die weitere Zusammenarbeit ab September 2001 neu regeln, doch konnten sich die Parteien darüber nicht einigen. Am 30. Oktober 2001 erklärte sich die Klägerin bereit, ein letztes Mal ohne den von ihr verlangten Software-Service-Vertrag für die Beklagte tätig zu werden. Der Klägerin gelang es jedoch nicht, bei ihrem Arbeitseinsatz vom 3. November 2001 die Software-Probleme zu lösen. Die Beklagte ersetzte darauf die von der Klägerin entwickelte Software ab Mitte 2002 durch eine andere EDV-Lösung. A.b Ende März 2001 fand bei der Beklagten die Implementierung der neu entwickelten Energiefakturierungs-Software statt. Damit war aus Sicht der Klägerin die Entwicklungsarbeit beendet. Sie ersuchte daher die Beklagte am 27. August 2001 um einen Termin zur Besprechung der strategischen Vermarktung der aus dem Projekt entstandenen Software-Plattform. An der Sitzung vom 4. September 2001 erklärte der Direktor der Beklagten, diese wolle sich nicht aktiv an der Vermarktung der Software beteiligen. Weil die Energieverrechnung nicht funktionierte, war die Beklagte weiterhin auf die Dienste der Klägerin angewiesen. Die Klägerin wollte die weitere Zusammenarbeit ab September 2001 neu regeln, doch konnten sich die Parteien darüber nicht einigen. Am 30. Oktober 2001 erklärte sich die Klägerin bereit, ein letztes Mal ohne den von ihr verlangten Software-Service-Vertrag für die Beklagte tätig zu werden. Der Klägerin gelang es jedoch nicht, bei ihrem Arbeitseinsatz vom 3. November 2001 die Software-Probleme zu lösen. Die Beklagte ersetzte darauf die von der Klägerin entwickelte Software ab Mitte 2002 durch eine andere EDV-Lösung. B. Am 2. Februar 2004 stellte die Klägerin beim Handelsgericht des Kantons Aargau das Rechtsbegehren, die Beklagte sei zu verurteilen, ihr einen Betrag von Fr. 737'210.-- nebst 5% Zins seit wann rechtens zu bezahlen. Sie stellte sich auf den Standpunkt, nach der Vereinbarung habe sie ihre Entwicklungsarbeit als Projektbeitrag statt zum üblichen Honoraransatz von Fr. 200.-- pro Stunde zu einem solchen von Fr. 100.-- geleistet. Demgegenüber habe sich die Beklagte verpflichtet, die kommerzielle Vermarktung der Software zu übernehmen und damit ihren Kooperationsbeitrag zu leisten. Nachdem die Beklagte diesbezüglich vertragsbrüchig geworden sei, hafte sie für den daraus entstandenen Schaden der Klägerin. Das Handelsgericht des Kantons Aargau wies die Klage mit Urteil vom 29. März 2005 ab. Das Gericht erwog, die Parteien seien Ende 1996/ anfangs 1997 zusammen mit der C._ und der D._ GmbH eine einfache Gesellschaft eingegangen; Zweck der Gesellschaft war die Entwicklung einer Software für die Beklagte, welche nach der erfolgreichen Implementierung bei der Beklagten auch an andere industrielle Betriebe verkauft werden sollte. Während die D._ GmbH unmittelbar nach Projektstart aus der einfachen Gesellschaft ausschied, blieb die C._ trotz eines einjährigen Arbeitsunterbruchs an den Projektarbeiten beteiligt. Spätestens Mitte 2002 ist die Erreichung des Gesellschaftszwecks unmöglich geworden und die Gesellschaft aufgelöst worden. Eine Liquidation hat jedoch nicht stattgefunden und allfällige Schadenersatzforderungen wären grundsätzlich von den Gesellschaftern für die Gesellschaft geltend zu machen. Das Gericht hielt zwar ausnahmsweise das Forderungsrecht der Klägerin auf Zahlung an sich selbst für zulässig; es liess jedoch offen ob, die Beklagte gesellschaftsvertragliche Pflichten verletzt habe, da die Klägerin den (angeblich) erlittenen Schaden nicht substanziiert habe. C. Mit Berufung stellt die Klägerin die Anträge, das Urteil des Handelsgerichts des Kantons Aargau vom 29. März 2005 sei aufzuheben (Ziffer 1); die Beklagte sei zu verpflichten, der Klägerin einen Betrag von CHF 737'210.-- nebst Zins zu 5% seit wann rechtens zu bezahlen (Ziffer 2); die Sache sei zur materiellen Beurteilung an die Vorinstanz zurückzuweisen (Ziffer 3). Sie rügt eine falsche Qualifikation des Vertrags, hält Werkvertragsrecht für anwendbar und bewertet ihre Leistung doppelt so hoch als von ihr in Rechnung gestellt. Die Klägerin stützt ihre Forderung als Folge der ausgebliebenen Distributionsleistungen der Beklagten auf Art. 62 ff. OR (ungerechtfertigter Bereicherung); eventuell auf Art. 531 Abs. 2 OR (paritätische Beitragspflicht der einfachen Gesellschafter). C. Mit Berufung stellt die Klägerin die Anträge, das Urteil des Handelsgerichts des Kantons Aargau vom 29. März 2005 sei aufzuheben (Ziffer 1); die Beklagte sei zu verpflichten, der Klägerin einen Betrag von CHF 737'210.-- nebst Zins zu 5% seit wann rechtens zu bezahlen (Ziffer 2); die Sache sei zur materiellen Beurteilung an die Vorinstanz zurückzuweisen (Ziffer 3). Sie rügt eine falsche Qualifikation des Vertrags, hält Werkvertragsrecht für anwendbar und bewertet ihre Leistung doppelt so hoch als von ihr in Rechnung gestellt. Die Klägerin stützt ihre Forderung als Folge der ausgebliebenen Distributionsleistungen der Beklagten auf Art. 62 ff. OR (ungerechtfertigter Bereicherung); eventuell auf Art. 531 Abs. 2 OR (paritätische Beitragspflicht der einfachen Gesellschafter). D. Die Beklagte schliesst auf Abweisung der Berufung, soweit darauf einzutreten sei.