{"id":3742,"date":"2016-06-25T11:21:08","date_gmt":"2016-06-25T10:21:08","guid":{"rendered":"https:\/\/u-labs.de\/portal\/?p=3742"},"modified":"2016-06-25T11:21:08","modified_gmt":"2016-06-25T10:21:08","slug":"iis-deployment-ein-teil-des-pfades-binroslyncsc-exe-konnte-nicht-gefunden-werden","status":"publish","type":"post","link":"https:\/\/u-labs.de\/portal\/iis-deployment-ein-teil-des-pfades-binroslyncsc-exe-konnte-nicht-gefunden-werden\/","title":{"rendered":"IIS Deployment: &#8222;Ein Teil des Pfades bin\\roslyn\\csc.exe konnte nicht gefunden werden&#8220;"},"content":{"rendered":"<p>Wer eine mit Visual Studio 2015 entwickelte ASP.NET MVC Anwendung auf den IIS deployt, sieht m\u00f6glicherweise die oben gezeigte Fehlermeldung<\/p>\n<pre>Ein Teil des Pfades \"C:\\inetpub\\wwwroot\\bin\\roslyn\\csc.exe\" konnte nicht gefunden werden<\/pre>\n<p>Beziehungsweise der \u00e4quivalente Fehler auf einer englischen Windows-Server Installation<\/p>\n<pre>Could not find a part of the path \"C:\\inetpub\\wwwroot\\bin\\roslyn\\csc.exe\".<\/pre>\n<p>Roslyn ist eine recht neue Kompiler-Platform von und f\u00fcr .NET. Im Rahmen Microsofts offener Strategie ist er Open Source und entgegen fr\u00fcheren Compilern nicht nur f\u00fcr Windows, sondern auch f\u00fcr Linux- und sogar Mac OS verf\u00fcgbar. Die Fehlermeldung weist darauf hin, dass besagter Compiler nicht korrekt ins Ausgabeverzeichnis kopiert wurde. Hierzu fehlt eine Target-Direktive in der Projektdatei, die dies veranlasst. Dieser Fehler tritt insbesondere unter Visual Studio 2015 auf, und l\u00e4sst sich mit folgenden Schritten beheben.<\/p>\n<h3><strong>Neuinstallation der NuGet-Pakete des Compilers<\/strong><\/h3>\n<p>In der Regel gen\u00fcgt es bereits, die\u00a0NuGet-Pakete\u00a0<strong>Microsoft.Net.Compilers<\/strong> und\u00a0<strong>Microsoft.CodeDom.Providers.DotNetCompilerPlatform<\/strong> neu zu installieren. Am einfachsten geschieht dies \u00fcber die Konsole mit folgendem Befehl:<\/p>\n<pre class=\"brush: powershell; title: ; notranslate\" title=\"\">\r\nInstall-Package -ReInstall Microsoft.Net.Compilers\r\nInstall-Package -ReInstall Microsoft.CodeDom.Providers.DotNetCompilerPlatform\r\n<\/pre>\n<p>Anschlie\u00dfend das Projekt neu kompilieren und deployen. In der Regel sollte das Problem damit gel\u00f6st sein.<\/p>\n<h3><strong>Workaround: Manuelles kopieren \u00fcber die .csproj-Datei<\/strong><\/h3>\n<p>Sollte dies nicht funktionieren, kann man den Compiler als Workaround manuell in das Zielverzeichnis kopieren lassen. Dazu \u00f6ffnet man die .csproj-Datei des jeweiligen Projektes (nicht die .sln der \u00fcbergeordneten Projektmappe) und f\u00fcgt folgenden Block ein:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;Target Name=&quot;CopyRoslynFiles&quot; AfterTargets=&quot;AfterBuild&quot; Condition=&quot;!$(Disable_CopyWebApplication) And '$(OutDir)' != '$(OutputPath)'&quot;&gt;\r\n    &lt;ItemGroup&gt;\r\n      &lt;RoslynFiles Include=&quot;$(CscToolPath)\\*&quot; \/&gt;\r\n    &lt;\/ItemGroup&gt;\r\n    &lt;MakeDir Directories=&quot;$(WebProjectOutputDir)\\bin\\roslyn&quot; \/&gt;\r\n    &lt;Copy SourceFiles=&quot;@(RoslynFiles)&quot; DestinationFolder=&quot;$(WebProjectOutputDir)\\bin\\roslyn&quot; SkipUnchangedFiles=&quot;true&quot; Retries=&quot;$(CopyRetryCount)&quot; RetryDelayMilliseconds=&quot;$(CopyRetryDelayMilliseconds)&quot; \/&gt;\r\n&lt;\/Target&gt;\r\n<\/pre>\n<p>Am besten ganz oben unter den <strong>Project<\/strong>-Knoten einf\u00fcgen. Nach einem Neustart von Visual Studio auch hier die Projektmappe neu erstellen und anschlie\u00dfend auf den IIS deployen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wer eine mit Visual Studio 2015 entwickelte ASP.NET MVC Anwendung auf den IIS deployt, sieht m\u00f6glicherweise die oben gezeigte Fehlermeldung Ein Teil des Pfades &#8222;C:\\inetpub\\wwwroot\\bin\\roslyn\\csc.exe&#8220; konnte nicht gefunden werden Beziehungsweise der \u00e4quivalente Fehler auf einer englischen Windows-Server Installation Could not find a part of the path &#8222;C:\\inetpub\\wwwroot\\bin\\roslyn\\csc.exe&#8220;. Roslyn ist eine recht neue Kompiler-Platform von und &#8230;<\/p>\n","protected":false},"author":5,"featured_media":3752,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[61],"tags":[336,413,439,343],"class_list":["post-3742","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-softwareentwicklung","tag-asp-net","tag-asp-net-mvc","tag-deployment","tag-iis"],"_links":{"self":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/3742","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/comments?post=3742"}],"version-history":[{"count":8,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/3742\/revisions"}],"predecessor-version":[{"id":4069,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/3742\/revisions\/4069"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media\/3752"}],"wp:attachment":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media?parent=3742"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/categories?post=3742"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/tags?post=3742"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}