P6012

Code

P6012

Message

Project manifest does not resolve to a project

This error occurs when a project manifest was found but does not resolve to a project. The manifest may be unreadable, malformed, or may name files that do not exist.

A manifest is authoritative: it is the record of which files belong to the project. When one is present but cannot be followed, the compiler reports the failure rather than falling back to enumerating whatever source files happen to be nearby — that would compile the project’s files while ignoring the manifest that says which of them belong.

Causes

  • A .sln or .plcproj that cannot be read.

  • A .sln that names a .tsproj that does not exist.

  • A .tsproj that is not well-formed XML.

  • A .sln that names no .plcproj at all — for example a solution containing only non-PLC project types.

Example

MySolution/
  MySolution.sln          # lists MyProject\MyProject.tsproj
  (MyProject/ was deleted)
ironplcc check MySolution

To fix this error:

  • Restore or correct the file the manifest names.

  • Repair the malformed manifest.

  • If the solution has no PLC project, point the compiler at one that does.

A directory holding more than one .sln or .plcproj is not this error. It names no single project, so it is not treated as a TwinCAT project at all and its source files are enumerated instead. Name the manifest you want — ironplcc check MySolution/MySolution.sln — to compile that project.

Think IronPLC is wrong about this?

If you believe this diagnostic is incorrect, open an issue on GitHub with a small sample that demonstrates the problem.