Jak skompilować i uruchomić program c# bez użycia visual studio? [duplikat]

To pytanie ma już odpowiedź tutaj:

Jestem nowy w C#. Właśnie uruchomiłem program C # 'Hello World' używając Visual Studio.

Czy mogę uruchomić lub skompilować program C# bez użycia Visual Studio?

Jeśli jest to możliwe, to który kompilator powinien użyć?

Thanks

Author: shim, 2013-08-17

6 answers

Jeśli masz zainstalowany. NET v4 (więc jeśli masz nowszy system windows lub jeśli zastosujesz aktualizacje systemu windows)

C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe somefile.cs

Lub

C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe nomefile.sln

Lub

C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe nomefile.csproj

Jest wysoce prawdopodobne, że jeśli masz zainstalowany. NET, zmienna %FrameworkDir% jest ustawiona, więc:

%FrameworkDir%\v4.0.30319\csc.exe ...

%FrameworkDir%\v4.0.30319\msbuild.exe ...
 62
Author: xanatos,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-11 07:17:23

Używam skryptu wsadowego do kompilacji i uruchamiania C#:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc /out:%1 %2

@echo off

if errorlevel 1 (
    pause
    exit
)

start %1 %1

Nazywam to tak:

C:\bin\csc.bat "C:\code\MyProgram.exe" "C:\code\MyProgram.cs"

Mam również skrót w Notepad++, który możesz zdefiniować przechodząc do Run > Run...:

C:\bin\csc.bat "$(CURRENT_DIRECTORY)\$(NAME_PART).exe" "$(FULL_CURRENT_PATH)"

Przypisałem ten skrót do mojego klawisza F5 dla maksymalnego lenistwa.

 24
Author: David Kennedy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-31 23:04:09

Są na to różne sposoby:

1.budowanie aplikacji C # przy użyciu csc.exe

Chociaż prawdą jest, że możesz nigdy nie zdecydować się na zbudowanie aplikacji na dużą skalę, używając tylko kompilatora wiersza poleceń C#, ważne jest, aby zrozumieć podstawy kompilacji plików kodu ręcznie.

2.budowanie aplikacji. NET przy użyciu Notepad++

Kolejnym prostym edytorem tekstu, na który chciałbym szybko zwrócić uwagę, jest darmowy notatnik do pobrania++ podanie. To narzędzie można uzyskać z http://notepad-plus.sourceforge.net . W przeciwieństwie do prymitywnych okien Aplikacja Notepad, Notepad++ pozwala na pisanie kodu w różnych językach i obsługuje

3.budowanie aplikacji. NET przy użyciu SharpDevelop

Jak można się zgodzić, tworzenie kodu C# za pomocą Notepad++ jest krokiem we właściwym kierunku, w porównaniu do Notatnik. Jednak narzędzia te nie zapewniają bogatych możliwości IntelliSense dla kodu C#, projektantów na tworzenie graficznych interfejsów użytkownika, szablonów projektów lub narzędzi do manipulacji bazami danych. Aby rozwiązać takie potrzeb, pozwolę sobie przedstawić kolejną opcję rozwoju. NET: SharpDevelop (znany również jako "#Develop").Możesz go pobrać z http://www.sharpdevelop.com .

 8
Author: Elvin Mammadov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-17 08:53:07

Możesz użyć. NET sdk lub alternatywnie:

Link został przeniesiony tutaj.

Kompilator Online nie oferuje zbyt wiele, ale może być narzędziem do nauki prostych zadań domowych.

 8
Author: Daniel Mošmondor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-30 03:55:13

Inną opcją jest ciekawy projekt open source o nazwie ScriptCS. Wykorzystuje kilka sprytnych technik, aby umożliwić Ci doświadczenie rozwoju poza Visual Studio, a jednocześnie być w stanie wykorzystać NuGet do zarządzania zależnościami. Jest darmowy, bardzo łatwy w instalacji za pomocą Chocolatey . Możesz to sprawdzić tutaj http://scriptcs.net .

Kolejną ciekawą funkcją jest REPL z wiersza poleceń. Co pozwala robić takie rzeczy:

C:\> scriptcs
scriptcs (ctrl-c or blank to exit)

> var message = "Hello, world!";
> Console.WriteLine(message);
Hello, world!
> 

C:\>

Możesz twórz "Skrypty" narzędzia C#, które mogą być dowolne, od małych zadań systemowych, przez testy jednostkowe,po pełne interfejsy API. W najnowszym wydaniu wierzę, że pozwalają one również na hostowanie środowiska wykonawczego we własnych aplikacjach.

Zobacz też rozwój it na stronie GitHub https://github.com/scriptcs/scriptcs

 5
Author: cecilphillip,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-17 09:06:41

Jeśli masz gotowy projekt i chcesz po prostu zmienić jakiś kod, a następnie zbudować. Sprawdź MSBuild, który znajduje się w Microsoft.Net w katalogu windows.

C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild "C:\Projects\MyProject.csproj" /p:Configuration=Debug;DeployOnBuild=True;PackageAsSingleFile=False;outdir=C:\Projects\MyProjects\Publish\ (Proszę nie edytować, zostawić jako pojedynczy wiersz)

... Linia powyżej rozbita na czytelność

C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild "C:\Projects\MyProject.csproj" /p: Configuration=Debug;DeployOnBuild = True;PackageAsSingleFile=False; outdir = C: \ Projects\MyProjects\Publish\

 1
Author: Ramakant,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-06 14:37:30