- Home /
Add an AssemblyVersion attibute to 'Assembly-CSharp.dll'. Any help?
Hey there, I got the error with code CA1016 on MVS. Since I'm beginner I can only think that I am missing something. Can not figure out AssemblyVersionAtribute Class in Microsoft help.
Unity says that associated script can not be loaded and that no monobehaviour scripts in the file, or their names do not match the file name.
What am I supposed to do?
Thanks in advance.
Still trying to figuring out how can I solve this but no success so far...
Answer by FortisVenaliter · Jul 13, 2017 at 07:38 PM
Can you show the script in question?
It sounds like Unity can't load the script because the class name in the script does not match the filename of the script.
As for the CA1016, I've never seen that with a unity-generated project. I would recommend closing unity, deleting the VS Project files, and opening Unity again to get it to regenerate them, but it may just be an obscure symptom of the file name not matching the class name.
Answer by Fehr · Dec 04, 2018 at 02:27 PM
This warning is occurring as a result of CA1016, a design warning meant to prompt developers to version their assemblies. In a usual Visual Studio solution this would be done as described here, but as the unity editor regenerates the solution as scripts change, this change would invariably be overridden.
Because I like to stay on top of my warnings, and keep the warning list clear, I've taken to suppressing this warning. This can be done by placing the following code in a csharp file such as Supression.cs within the solution, as follows:
using System.Diagnostics.CodeAnalysis;
[assembly: SuppressMessage(
"Microsoft.Design",
"CA1016:MarkAssembliesWithAssemblyVersion") ]
I don't like to suppress warnings, as they're usually there for a good reason, as is the case here, so If anyone knows a better solution, I'd love to learn it.