Open sandboxFocusImprove this doc

PS0144: Plug-In Assembly Does Not Define the Requested Project

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 AssemblyProjectProviderAttribute attributes 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 AssemblyProjectProviderAttribute with ExportProjectAttribute, or with ExportTaskAttribute and ExportServiceAttribute on 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