Problems publishing a website on smarterasp.net with csc.exe file included?

前端 未结 14 1255
轮回少年
轮回少年 2020-12-22 21:51

I am using Microsoft Visual Studio 2015, I built a simple website with a C# contact form. When I compile and run on localhost it works perfectly fine. However, when I try to

相关标签:
14条回答
  • 2020-12-22 22:11

    If you actually want to keep the roslyn codegen, you just need to set the permissions on the application's bin folder to allow the ApplicationPool user Read & Execute.

    I did this using the explorer Security tab on the folder properties dialog, but you should also be able to do something like:

    icacls PATH_TO_SERVICE_BIN /grant "ApplicationPoolUser":(OI)(CI)RX
    
    0 讨论(0)
  • 2020-12-22 22:12

    tl;dr: Ensure that csc.exe is not zero bytes in size.


    Longer answer

    To add yet another cause and solution: In my case, I got this Yellow Screen Of Death in my browser:

    Server Error in '/' Application.

    Compilation Error

    Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

    Compiler Error Message: The compiler failed with error code 255.

    c:\windows\system32\inetsrv>C:\inetpub\wwwroot\bin\roslyn\csc.exe /t:library /utf8output /nostdlib+ ...

    Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.7.2558.0

    Upon investigation, I isolated the call to csc.exe by executing it inside a CMD window:

    c:\inetpub\wwwroot\bin\roslyn\csc.exe
    

    I got this message box:

    followed by this line in the CMD window:

    Access is denied.

    Upon inspecting the files in Windows File Explorer I found out that csc.exe had a size of zero bytes.

    I'm unsure at which stage of my deployment script this happens, but after replacing the 0-byte-sized csc.exe with an actual working one, everything works correctly.

    0 讨论(0)
  • 2020-12-22 22:18

    Just experienced the same issue as the OP when publishing an ASP.net 4.5.2 SPA via web deploy in VS2015.

    The solution I found to work was to remove the Nuget package "Microsoft.CodeDom.Providers.DotNetCompilerPlatform".

    You could, alternatively, simply remove the system.codedom compiler config section from your Web.config file, which would have the same affect.

    0 讨论(0)
  • 2020-12-22 22:27

    I had this issue on Smarter ASP. On the browser file manager in the control panel, navigate to 'Roslyn' folder in bin and set .net permission to read/write. It worked then.

    0 讨论(0)
  • 2020-12-22 22:27

    I found the solution as unchecking "Allow precompiled site to be updatable", on publish window.

    0 讨论(0)
  • 2020-12-22 22:27

    Just remove the codedom section from the Web.config, this solves the problem.

    0 讨论(0)
提交回复
热议问题