| Severity | Error |
| Reported by | PostSharp |
| Message | The assembly "<Assembly>" does not contain a project named "<ProjectName>". |
Cause
A plug-in of PostSharp is an assembly that extends the PostSharp compiler, written with the PostSharp SDK. PostSharp loads it when a Using element of a configuration file names it, or when the build passes it as an add-in. With the obsolete assembly-level AssemblyProjectProviderAttribute, a plug-in assembly can define several projects, each with a name, and the file name that refers to the assembly can select one after a semicolon, as in MyPlugIn.dll;Logging.
PostSharp reports PS0144 when the file name selects a project, the assembly has at least one AssemblyProjectProviderAttribute, and none of them has this name. The comparison ignores case. <Assembly> is the full path of the plug-in assembly, and <ProjectName> is the name after the semicolon. The message is fatal: the build stops.
This message concerns the development of a plug-in with the PostSharp SDK, and its text contains the path of a file of the build, so no example can show it.
Resolution
- Check the name after the semicolon against the names of the
AssemblyProjectProviderAttributeattributes of the assembly. - Remove the semicolon and the project name when the assembly defines a single project.
- If you develop the plug-in, replace the obsolete
AssemblyProjectProviderAttributewithExportProjectAttribute, or withExportTaskAttributeandExportServiceAttributeon the tasks and services.
In this version of PostSharp, selecting a project that the assembly does define fails with an exception instead of loading it. Prefer a plug-in that defines a single project.
See Also
Other Resources
Configuration File Schema Reference
Configuring Projects Using postsharp.config