die Readme bei https://github.com/magarciaEPFL/scaladotnet Nach einem Windows-exe für ein einfaches "Hallo Welt" App zu erstellen:Scala auf .Net Hello World
package hello.world
object Main {
def main(args: Array[String]) {
println("Hello, World!")
}
}
mit dem Befehl aus dem Readme-Built .exe:
scalacompiler.exe^
-d C:\test\bin^
-target:exe^
-Ystruct-dispatch:no-cache^
-Xassem-name HelloWorld.exe^
-Xassem-extdirs C:\scala.net^
-Xshow-class hello.world.Main^
C:\test\src\HelloWorld.scala
Während Windows 7 Pro 64bit verwenden, erhalte ich diese Störung, wenn ein Lauf versuchen:
C: \ test \ bin> HelloWorld.exe
Unbehandelte Ausnahme: System.IO.FileNotFoundException: Kann nicht Datei oder Assembly 'scalalib, Version = 0.0.0.0, Culture = neutral, PublicKeyToken = null' oder eine ihrer Abhängigkeiten laden. Das System kann die angegebene Datei nicht finden. am Main (String [] args)
Das Compiler Verzeichnis Scala Net ist direkt im Weg, doch es scheint, dass die HelloWorld.exe nicht in der Lage ist, die scalalib.dll zu finden und zu laden, die in diesem Verzeichnis ist. Laut den folgenden Kommentaren funktioniert das Kopieren der HelloWorld.exe direkt in das Verzeichnis C: \ scala.net und das Ausführen von dort wie erwartet. Aber das Platzieren der EXE in einem anderen Verzeichnis und das C: \ scala.net-Verzeichnis als Teil des PATH nicht.
Was ist los?
teilen Sie Code. – JSJ
HelloWorld.exe und scalalib.dll befinden sich im selben Ordner? – hmqcnoesy
Nein, HelloWorld.exe befindet sich in C: \ test \ bin \ und scalalib.dll befindet sich in C: \ scala.net \, wobei C: \ scala.net ein Teil des Pfads ist. Ich habe erwartet, dass die .dll-Datei gefunden wird und sich in einem Verzeichnis im Pfad befindet. –