Build error when signing with snk key

18,592

Solution 1

I know it's been a while since this was asked but as I use SO for my own reference and I had this problem too I wanted to share my solution.

.snk files are for signing a project. You might need to make a new one.

  • Right click on your project, select properties.
  • Click on Signing.
  • Click the checkbox beside "Sign the assembly".
  • On the dropdown labelled "Choose a strong name key file" click new.
  • Fill in the dialog box as you wish noting particularly the Key file name. When you press ok, this will generate a new .snk file.
  • Save the project and rebuild.
  • This will use the new .snk in your project and will resolve the error.

Hope this helps.

Solution 2

Try to clean up the temp folder that is used by the build. I have seen different types of problems when the temp folder has lots of files.

Some of the tools are using GetTempFileName and they will get errors when temp has a lots of files

The GetTempFileName method will raise an IOException if it is used to create more than 65535 files without deleting previous temporary files.

Solution 3

This is probably an instance of this issue with Roslyn compiler. The workaround would be adding

<UseSharedCompilation>False</UseSharedCompilation>

under any <PropertyGroup> node in .csproj file.

Share:
18,592
Bart VdA
Author by

Bart VdA

Solution architect, Kanban coach, Agile Software developer .NET

Updated on July 24, 2022

Comments

  • Bart VdA
    Bart VdA almost 2 years

    Build error is occurring since using Visual Studio 2015. When building in Visual Studio 2015 this is occurring rarely. When building in TeamCity this occurs very often.

    [Error in Visual Studio 2015]

    • Error extracting public key from file 'CompanyName.snk': The process cannot access the file 'C:\Users\UserName\AppData\Local\Temp\tmp2FF6.tmp' because it is being used by another process. CompanyName.Project.DAL D:\Projecten\CompanyName\Repository\Source\Components\CompanyName.Project.DAL\vbc

    http://i.stack.imgur.com/hKbbe.png

    [Error in TeamCity]

    • CSC error CS7027: Error signing output with public key from file 'CompanyName.snk' -- The process cannot access the file 'C:\BuildAgents\Gamma\temp\buildTmp\tmpD91D.tmp' because it is being used by another process.

    http://i.stack.imgur.com/rbgHx.png

  • Bart VdA
    Bart VdA about 8 years
    The amount of files in the temp folders of the agent are limited. Is this the temp folder you are referring to?
  • Alex M
    Alex M about 8 years
    Was exactly this. The temp folder for the user running the build (C:\Users\USERNAME\AppData\Local\Temp) was having more than 65535 files.
  • Bart VdA
    Bart VdA over 7 years
    Will give it a try, for now I just removed the signing on the project. Also solved it as a workaround :-)