Build error when signing with snk key
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.
Bart VdA
Solution architect, Kanban coach, Agile Software developer .NET
Updated on July 24, 2022Comments
-
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.
-
Bart VdA about 8 yearsThe amount of files in the temp folders of the agent are limited. Is this the temp folder you are referring to?
-
Alex M about 8 yearsWas 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 over 7 yearsWill give it a try, for now I just removed the signing on the project. Also solved it as a workaround :-)