-
Notifications
You must be signed in to change notification settings - Fork 361
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make SIGN001 suppressable for specific files #1295
Comments
Sounds like we need to fix the package. Seems like it should be simple to get this binary signed and new package published. Until the package is fixed, what's wrong with specifying |
That's what we did to unblock getting a build of SignCheck. This would not be acceptable for a product repo, though. We wouldn't want to ship unsigned binaries just because the tool produces an error because its assembly copyright doesn't fit our criteria. |
The root problem is that Microsoft.VisualStudio.OLE.Interop.dll is not signed. If this was a product dependency, the fix would be to fix this binary, not to suppress warning in repos that consume the binary. That said I'm not against adding an attribute |
My plan here is:
Does this meet you needs @natemcmaster ? @ericstj |
As long as you use "suppress" (two P's), I'm happy with this plan. Just my two cents: also consider "NoWarn", which is a naming convention used in other places, like Csc and NuGet. |
Well, that seems an even better name! |
BTW, there should be no |
@natemcmaster Has Microsoft.VisualStudio.OLE.Interop been fixed? As I said I'm not against adding NoWarn attribute, but at this point there seems to be no use case for it since Microsoft.VisualStudio.OLE.Interop package needs to be fixed. |
No. This package hasn't been updated since Sep. 2017. I don't know who owns it. |
Version 7.10.6071 contains signed binaries. It also seems this is an interop assembly and perhaps should be embedded, not referenced. |
So the fix is simply to use 7.10.6071 instead of 7.10.6070: #1394 |
Just to bring some more info to the table. Other builds have seen this warning around and I think moving forward adding an option to suppress this message might still be useful. One build where I saw the warning was CoreFX: here.
I'm not sure if |
We should check for As I said, I'm not against adding the NoWarn but let's have specific scenarios that support such addition. So far we have found two potential use-cases but each of them actually unearthed a problem that warranted another fix. So the heuristic is actually working! |
I'll add that to the condition and put this issue on hold until we see further evidence that we need it. |
I'm hitting this with a bunch of VSTest assemblies that don't have the Copyright set: <FilesNotToSign Include="Microsoft.TestPlatform.Extensions.BlameDataCollector.dll"/>
<FilesNotToSign Include="Microsoft.TestPlatform.TestHostRuntimeProvider.dll"/>
<FilesNotToSign Include="Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger.dll"/>
<FilesNotToSign Include="Microsoft.TestPlatform.Build.dll"/>
<FilesNotToSign Include="Microsoft.TestPlatform.CommunicationUtilities.dll"/>
<FilesNotToSign Include="Microsoft.TestPlatform.CoreUtilities.dll"/>
<FilesNotToSign Include="Microsoft.TestPlatform.CrossPlatEngine.dll"/>
<FilesNotToSign Include="Microsoft.TestPlatform.PlatformAbstractions.dll"/>
<FilesNotToSign Include="Microsoft.TestPlatform.Utilities.dll"/>
<FilesNotToSign Include="Microsoft.TestPlatform.VsTestConsole.TranslationLayer.dll"/>
<FilesNotToSign Include="Microsoft.VisualStudio.TestPlatform.Client.dll"/>
<FilesNotToSign Include="Microsoft.VisualStudio.TestPlatform.Common.dll"/>
<FilesNotToSign Include="Microsoft.VisualStudio.TestPlatform.ObjectModel.dll"/>
<FilesNotToSign Include="datacollector.dll"/>
<FilesNotToSign Include="vstest.console.dll"/> I agree that the right fix is to fix the root cause, but if that takes a while we would be blocked on shipping an arcade-built .NET Core SDK without the NoWarn capability. |
Are they not signed? |
Your repo shouldn't be signing these in the first place (unless your repo is VS test repo). |
@tmat We crossgen these so they need to be resigned |
@dsplaisted I see. Makes sense. You can also suppress |
We believe this is already resolved. |
For example, this repo has this:
Without this, the build fails with an error:
We could also completely suppress SIGN001, but that would lead us to miss valid instances of SIGN001. It would be good if we could make suppressions more granular.
The text was updated successfully, but these errors were encountered: