programing

경로의 일부를 찾을 수 없습니다... bin\roslin\csc.exe

jooyons 2023. 6. 4. 10:31
반응형

경로의 일부를 찾을 수 없습니다... bin\roslin\csc.exe

TFS(Team Foundation Server) 소스 컨트롤에서 검색한 ASP.NET MVC(모델 뷰 컨트롤러) 프로젝트를 실행하려고 합니다.모든 어셈블리 참조를 추가했으며 오류나 경고 없이 성공적으로 빌드 및 컴파일할 수 있습니다.

그러나 브라우저에서 다음 오류가 발생합니다.

경로 'C:\B8akWorkspace\'의 일부를 찾을 수 없습니다.B8ak 프로젝트\B8ak 솔루션\B8AK.Portal\bin\roslin\csc.exe'입니다.

다음은 오류 페이지의 전체 스크린샷입니다.

여기에 이미지 설명 입력

며칠 동안 조사한 결과, Roslin이 고급 컴파일 기능을 제공하는 .NET 컴파일러 플랫폼이라는 것을 알게 되었습니다.하지만 Roslyn과 관련된 구성을 하지 않았기 때문에 내 빌드가 \bin\roslyn\csc.exe를 찾으려고 하는 이유를 이해할 수 없습니다.로슬린을 프로젝트에 사용할 의도도 없었습니다.

TL; DR

패키지 관리자 콘솔에서 실행:

Update-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform -r

더 많은 정보

이 문제는 Visual Studio 자체와 관련이 없으므로 파일을 복사하기 위한 빌드 단계를 추가하는 것이 좋습니다.프로젝트에 컴파일러 이진 파일을 수동으로 추가하는 경우에도 마찬가지입니다.

Roslyn 컴파일러는 NuGet 패키지에서 제공되며 해당 패키지의 일부 버전에 버그가 있습니다(정확히 어떤 버전인지는 모르겠습니다).해결책은 해당 패키지를 버그가 없는 버전으로 다시 설치/업그레이드하는 것입니다.원래 2015년에 답변을 작성하기 전에 특정 버전에 다음 패키지를 설치하여 수정했습니다.

  • 마이크로소프트.넷 컴파일러 1.1.1
  • 마이크로소프트.코드 돔.공급자.DotNet 컴파일러 플랫폼 1.0.1

그런 다음 .csproj를 조사하여 패키지에 대한 경로가 올바른지 확인했습니다(제 경우는..\..\timeout\*. *) 내부태그<ImportProject> 와 맨 위에<Target>파일 "EsureNuGetPackageBuildImports"는 파일 이름입니다.파일 MVC 5 .NET Framework 4.5.2.

"vs2015"로 입니다.tfr\bin\roslyn\렉토리, 오려히입니다.{outdir}\roslyn\

.csproj 파일에 다음 코드를 추가합니다.

<Target Name="CopyRoslynFiles" AfterTargets="AfterBuild" Condition="!$(Disable_CopyWebApplication) And '$(OutDir)' != '$(OutputPath)'">
    <ItemGroup>
      <RoslynFiles Include="$(CscToolPath)\*" />
    </ItemGroup>
    <MakeDir Directories="$(WebProjectOutputDir)\bin\roslyn" />
    <Copy SourceFiles="@(RoslynFiles)" DestinationFolder="$(WebProjectOutputDir)\bin\roslyn" SkipUnchangedFiles="true" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" />
</Target>

깨끗하고 재건된 것이 제게 효과가 있었습니다!

에서 빌에서찾합니다고으를 찾으려고 합니다.\bin\roslyn\csc.exe다음 패키지가 프로젝트에 추가되었기 때문입니다.검토만 해주시면 됩니다.packages.config에 둘 다 수 요, ▁file파다,있습니수▁have▁both.

Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Microsoft.Net.Compilers

프로젝트에서 Roslyn이란 무엇이며 누가 추가했는가(패키지): .net Framework 4.5.2를 사용하여 VS2015를 사용하여 프로젝트를 생성하는 경우 프로젝트 템플릿이 기본적으로 Roslyn을 사용하고 있음을 알 수 있습니다.사실, 로슬린은 마이크로소프트의 .NET 언어용 오픈 소스 컴파일러 중 하나입니다.

Roslyn을 삭제해야 하는 이유: 프로젝트에 Roslyn 참조가 있고 서버에 배포하려는 경우 많은 호스팅 공급자가 여전히 서버를 업그레이드하지 않아 Roslyn을 지원하지 않기 때문에 웹 사이트에 원치 않는 오류가 발생합니다.이 문제를 해결하려면 프로젝트 템플릿에서 Roslin 컴파일러를 제거해야 합니다.

로슬린을 사용하는 것에 관심이 없다면, 다음 단계에 따라 삭제

NuGet 패키지를 제거하고 NuGet 패키지 콘솔에서 다음 명령을 사용합니다.

PM> Uninstall-package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
PM> Uninstall-package Microsoft.Net.Compilers

이렇게 하면 web.config 파일이 자동으로 업데이트됩니다.그렇지 않은 경우 아래 코드를 확인합니다.web.config파일을 저장하고 발견되면 이 코드를 삭제합니다.

<system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"></compiler>
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"></compiler>
    </compilers>
</system.codedom>

다음은 MSBuild 방식입니다.

<Target Name="CopyRoslynFiles" AfterTargets="AfterBuild" Condition="!$(Disable_CopyWebApplication) And '$(OutDir)' != '$(OutputPath)'">
    <ItemGroup>
      <RoslynFiles Include="$(CscToolPath)\*" />
    </ItemGroup>
    <MakeDir Directories="$(WebProjectOutputDir)\bin\roslyn" />
    <Copy SourceFiles="@(RoslynFiles)" DestinationFolder="$(WebProjectOutputDir)\bin\roslyn" SkipUnchangedFiles="true" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" />
</Target>

하지만 저는 Roslin 파일이 제 bin 디렉토리(폴더가 아닌)에도 있다는 것을 알게 되었습니다.그래도 그 앱은 작동하는 것 같습니다.

답변하기에는 너무 늦었지만 그래도 누군가에게 도움이 될 경우를 대비해 게시합니다.
다음 단계에 따라 오류가 해결되었습니다.

  1. 패키지 폴더 삭제
  2. 오픈 VS
  3. 재구축
  4. NuGet 패키지는 복원되지만 bin\roslin은 생성되지 않습니다.
  5. 프로젝트 언로드
  6. 프로젝트 다시 로드
  7. 재구축
  8. 이제 bin\roslin이 생성되었음을 확인합니다.

속전속결

현재 가장 많이 투표된 답변에서 이미 언급했듯이, 빠른 해결책은 패키지 관리자인 도구 > Nuget Package Manager > Package Manager Console을 사용하여 실행하는 것입니다.

Update-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform -r

Packet Manager 콘솔 - 여는 방법

오류를 재현하는 코드

다음은 오류를 재현하는 코드입니다.
https://user.it.uu.se/%7Ehesc0353/.ziphttps ://user.it.uu.se/%7Ehesc0353/SrvrErr-reproduce.zip
(원래는 https://github.com/aspnet/AspNetDocs/tree/master/aspnet/web-api/overview/advanced/calling-a-web-api-from-a-net-client/sample/server/ProductsApp) 에서 왔습니다.

위의 zip 파일에 제공된 예제 코드를 사용해 보십시오.
변경하지 않으면 +가 오류를 재현합니다.F5

애플리케이션의 서버 오류 '/'입니다.

보다 강력한 솔루션

다른결해책프에에서 입니다.Web.configjava.
(Web.config는 와동한디있습다니에와 같은 ..csprojfile으)로 됩니다.
패키지가 누락된 경우 자동으로 자동으로 패키지를 다시 만듭니다.

.Web.config텍스트 편집기 또는 Visual Studio에 있는 파일입니다.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings></appSettings>
  ...
  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs"
        type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701"/>
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"
        type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/>
    </compilers>
  </system.codedom>
</configuration>

태그 구성 > system.codom > compiler > 컴파일러 언어="c#;cs;csharp"에서 다음을 완전히 제거합니다.type기여하다.간단히 말해서, 다음으로 시작하는 줄을 제거합니다.type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, . 1

나머지는 Visual Studio에서 처리합니다.이제 그만Server Error in '/' Application.

HTTP 오류 403

위에 제공된 예에서 F5+를 누르면 HTTP 오류 403이 발생합니다.

HTTP 오류 403.14 - 금지됨

를 바꿔보세요.http://localhost:64195에서 웹브저서로http://localhost:64195/api/products이제 웹 API가 올바르게 표시됩니다.

제품을 포함하는 웹 API


도발적으로, 저는 전체를 제거하려고 했습니다.packageVisual Studio 프로젝트의 디렉터리입니다.
프로젝트가 다시 빌드되자마자 자동으로 자동으로 자동으로 다시 생성되었습니다.

레퍼런스


1 아마도 Visual Basic에서도 C#에서도 동일한 수정이 가능하지만 시도해 본 적은 없습니다.

GitHub에 있는 Roslin 프로젝트의 문제에서 언급했듯이, 해결책은 Visual Studio에서 프로젝트를 간단히 언로드하고 다시 로드하는 것입니다.

"bin\roslin" 폴더는 프로젝트를 다시 로드할 때까지 빌드 또는 재구축할 때 생성되지 않았습니다.

저는 이 단계들을 따랐고 완벽하게 작동했습니다.

  • 모든 bin 및 obj 폴더 삭제
  • 깨끗한 솔루션 및 재구축
  • powershell에서 이 명령 실행

Update-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform -r

저도 프로젝트를 진행하면서 같은 문제를 겪고 있었습니다.다음은 제가 수행한 단계입니다.

  1. 솔루션에서 마우스 오른쪽 버튼 클릭
  2. Clean solution을 선택합니다.
  3. 치료에 성공한 후 프로젝트를 다시 빌드합니다.
  4. 프로젝트 다시 실행

이번에는 같은 오류가 발생하지 않았습니다.이것은 예상대로 작동합니다.

  1. 클린 솔루션
  2. 솔루션 재구축, 이 두 단계는 저에게 효과가 있었습니다.

시가 없이 모든 수정을 시도한 후 Visual Studios에서 이 Nuget 패키지를 업데이트하여 수정했습니다.

마이크로소프트.코드 돔.공급자.닷넷 컴파일러 플랫폼

참조용으로 1.0.0에서 2.0.0까지 사용했습니다(오류가 더 이상 표시되지 않음).

VS 2019의 경우 다음 노드를 완전히 제거합니다.

<system.codedom>
</system.codedom>

NuGet 패키지 관리자

Microsoft를 설치해야 합니다.코드 돔.공급자.DotNetCompilerPlatform.BinFix는 해당 오류에 대해 특별히 생성되었습니다.

  • 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Nuget 패키지 관리를 선택합니다.
  • "Microsoft"를 찾습니다.코드 돔.공급자.닷넷 컴파일러 플랫폼"
  • 이전 버전 또는 최신 버전으로 업데이트하기만 하면 됩니다(어떤 버전이든 상관 없음). 그런 다음 원래 버전으로 다시 업데이트합니다.

그러면 패키지의 모든 종속성 및 파일(예: csc.exe)이 다시 설치됩니다.

Nuget - DotNet 컴파일러 플랫폼

저의 경우 다른 솔루션을 시도하기 전에 "Release" 구성으로 전환하고, 다시 빌드한 다음(폴더가 생성됨) "Debug"로 다시 전환했습니다. 폴더는 그대로 유지됩니다.

이는 이전 솔루션의 소스 제어에서 확인한 것으로, 원래(자동) 패키지 복원 및 프로젝트 빌드 시 해당 폴더가 bin 디렉토리에 생성되지 않았습니다.

이 문서를 작성할 때, 원인이 된 구성 요소가 v.2에 도달했습니다.

Nuget 패키지 업데이트 작업 중 솔루션 > 솔루션용 NuGet 패키지 관리를 마우스 오른쪽 버튼으로 클릭하고 모든 패키지, 특히 Microsoft를 업데이트합니다.Net. 컴파일러마이크로소프트.코드 돔.공급자.닷넷 컴파일러 플랫폼

이 문제는 Microsoft에서 알려진 문제입니다.코드 돔.공급자.DotNetCompiler Platform 1.0.6.1.0.5로 다운그레이드하면 이 문제가 해결됩니다.

그래서 캐논의 대답은 저에게 효과가 있었지만, 저는 몇 가지 옵션을 수정해야만 했습니다.특히 프로젝트가 빌드 서버에서 빌드될 때 $CscToolPath가 비어 있었기 때문에 대상의 조건을 제거하고 Include 특성을 변경해야 했습니다.이상하게도 로컬에서 실행할 때 $CscToolPath가 비어 있지 않았습니다.

<Target Name="CopyRoslynFiles" AfterTargets="AfterBuild" >
  <ItemGroup>
    <RoslynFiles Include="$(SolutionDir)packages\Microsoft.Net.Compilers.1.1.1\tools\*" />
  </ItemGroup>
  <MakeDir Directories="$(WebProjectOutputDir)\bin\roslyn" />
  <Copy SourceFiles="@(RoslynFiles)" DestinationFolder="$(WebProjectOutputDir)\bin\roslyn" SkipUnchangedFiles="true" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" />
</Target>

제 경우 Jenkins에서 Octopus에 배포하려고 할 때 다음 오류가 발생하여 문제가 발생했습니다.

MSBUILD : OctoPack error OCT-1676060969: Failed to build the path for '\bin\roslyn\csc.exe' relative to 'T:\workspace\machine.engine\Machine.engine.Test': Invalid URI: The format of the URI could not be determined.. See the inner exception for more details. [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969: System.Exception: Failed to build the path for '\bin\roslyn\csc.exe' relative to 'T:\workspace\machine.engine\Machine.engine.Test': Invalid URI: The format of the URI could not be determined.. See the inner exception for more details. ---> System.UriFormatException: Invalid URI: The format of the URI could not be determined. [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969:    at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind) [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969:    at System.Uri..ctor(String uriString) [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969:    at OctoPack.Tasks.Util.OctopusPhysicalFileSystem.GetPathRelativeTo(String fullPath, String relativeTo) in Z:\buildAgent\workDir\20ba9f2e0d5e4022\source\OctoPack.Tasks\Util\OctopusPhysicalFileSystem.cs:line 211 [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969:    --- End of inner exception stack trace --- [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969:    at OctoPack.Tasks.Util.OctopusPhysicalFileSystem.GetPathRelativeTo(String fullPath, String relativeTo) in Z:\buildAgent\workDir\20ba9f2e0d5e4022\source\OctoPack.Tasks\Util\OctopusPhysicalFileSystem.cs:line 224 [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969:    at OctoPack.Tasks.CreateOctoPackPackage.AddFiles(XContainer nuSpec, IEnumerable`1 sourceFiles, String sourceBaseDirectory, String targetDirectory, String relativeTo) in Z:\buildAgent\workDir\20ba9f2e0d5e4022\source\OctoPack.Tasks\CreateOctoPackPackage.cs:line 443 [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969:    at OctoPack.Tasks.CreateOctoPackPackage.Execute() in Z:\buildAgent\workDir\20ba9f2e0d5e4022\source\OctoPack.Tasks\CreateOctoPackPackage.cs:line 190 [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
Done Building Project "T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj" (default targets) -- FAILED

원인

을 보낸 후, 하고 있었습니다.Microsoft.Net.Compilers 요소가 된 이유는 사부구요는이유입니다.Microsoft.Net.Compilers이 문제(C#: 잘못된 식의 컴파일을 던짐)를 극복하기 위한 것이었으며 이러한 방식으로 해결되었습니다(Visual Studio 2015에서 C# 7을 사용하는 방법?).이로 인해 메인 프로그램에 구성 요소를 설치했을 때Microsoft.Net.Compilers자동으로 추가됩니다.

해결책

제 작업은 내부 구성 요소에서 (@malikKhalil 응답 후) 다음을 제거하는 것이었습니다.

PM> Uninstall-package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
PM> Uninstall-package Microsoft.Net.Compilers

그리고 C#6 대신 Jenkins에서 C#7 컴파일러를 선택하고 재구축했습니다. 이것은 모든 것이 올바르게 작동하고 빌드되는지 확인하기 위한 것입니다.

마지막으로 메인 프로그램에서 내부 구성요소를 업데이트하려고 했습니다.그리고 다시 짓는 것보다 모든 것.그것은 문제나 문제 없이 지어졌습니다.

위의 다니엘 닐의 논평에 따르면:

Microsoft 버전 1.0.3.코드 돔.공급자.DotNetCompilerPlatform Nuget 패키지가 작동하지만 버전 1.0.6이 이 질문에 오류를 일으킵니다.

1.0.3으로 다운그레이드하면 이 문제가 해결되었습니다.

저의 경우 Visual Studio Solution Explorer(웹 애플리케이션 프로젝트)의 bin 디렉토리로 이동하여 Roslin 프로젝트를 직접 포함하기만 하면 되었습니다.폴더를 마우스 오른쪽 단추로 클릭하고 프로젝트에 포함을 선택합니다.그리고 솔루션을 다시 체크인하여 빌드 프로세스를 트리거합니다.

Roslin 폴더는 기본적으로 포함되지 않았습니다.

중 업중Microsoft.CodeDom.Providers.DotNetCompilerPlatform에서 11.0.0 파일 1.0.1 파일입니다.

이 StackOverflow 질문과 같이 ASPNETCOMFILER를 추가하여 MVC에서 레이저 보기를 컴파일한 경우 PhysicalPath를 Roslynuget 패키지가 있는 위치로 변경합니다(일반적으로 $CscToolPath 변수를 통해 가리킴).

<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(CscToolPath)" />

저의 경우, bin 폴더 안에 있는 모든 것을 삭제하고 다시 컴파일하는 것만으로 모든 작업을 할 수 있었습니다.

프로젝트 파일을 열고 Import Project="로 모든 참조를 제거합니다.\packages\Microsoft.코드 돔.공급자.DotNetCompilerPlatform.1.0.0...

web.config를 열고 모든 system.codom 컴파일러 특성을 제거합니다.

"vs2015"로 입니다.{outdir}_PublishedWebsites\tfr\bin\roslyn\렉토리, 오려히입니다.{outdir}\roslyn\디렉토리입니다.이는 다음 이후로 로컬 환경과 다를 수 있습니다.AppHarbor는 솔루션 "in-place"를 구축하는 대신 출력 디렉터리를 사용하여 앱을 구축합니다.

▁of▁end다의 끝에 다음을 추가합니다..csproj block xml 에 파일이 .<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">...</Target>

<PropertyGroup>
  <PostBuildEvent>
    if not exist "$(WebProjectOutputDir)\bin\Roslyn" md "$(WebProjectOutputDir)\bin\Roslyn"
    start /MIN xcopy /s /y /R "$(OutDir)roslyn\*.*" "$(WebProjectOutputDir)\bin\Roslyn"
  </PostBuildEvent>
</PropertyGroup>

참조: https://support.appharbor.com/discussions/problems/78633-cant-build-aspnet-mvc-project-generated-from-vstudio-2015-enterprise

저의 경우, Basim과 유사하게 컴파일러에게 C#6이 필요하다고 말하는 NuGet 패키지가 있었습니다. 우리는 필요하지 않았습니다.

패키지인 NuGet 패키지를 .Microsoft.CodeDom.Providers.DotNetCompilerPlatform그런 다음 제거되었습니다.

  1. <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.0" targetFramework="net452" /> file packages.config
  2. <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" /> <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" /> </compilers> </system.codedom>

system.codedom이 로슬린을 알 수 : 노드, 당신왜로그슬을린데다알있수습니지려는.compilerOptions="/langversion:6

솔루션 탐색기에서 Bin 폴더를 삭제하고 솔루션을 다시 빌드합니다.그렇게 하면 문제가 해결될 것입니다.

localhost에서 모든 것이 완벽하게 작동할 때 서버에 애플리케이션을 설치할 때도 같은 문제가 있었습니다.

이러한 솔루션은 모두 작동하지 않았으며 항상 동일한 오류가 발생했습니다.

Could not find a part of the path 'C:\inetpub\wwwroot\myApp\bin\roslyn\csc.exe'

저는 결국 이렇게 되었습니다.

  • 내 설정 프로젝트에서, 오른쪽 클릭, 보기 > 파일 시스템.
  • 을 생성합니다.bin/roslynfolder
  • > 하고 add > files에서 합니다.packages\Microsoft.Net.Compilers.1.3.2\tools

이것으로 저의 문제가 해결되었습니다.

언급URL : https://stackoverflow.com/questions/32780315/could-not-find-a-part-of-the-path-bin-roslyn-csc-exe

반응형