The problem might be related to the file app/etc/di.xml
.
In my case I accidentially overwrote it with the file of another project.
After replacing it, it worked again!
These two lines were missing in my broken di.xml
:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
...
<preference for="Magento\Framework\Interception\ConfigLoaderInterface" type="Magento\Framework\Interception\PluginListGenerator" />
<preference for="Magento\Framework\Interception\ConfigWriterInterface" type="Magento\Framework\Interception\PluginListGenerator" />
There was also a difference in the PluginList Class:
Broken di.xml:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
...
<type name="Magento\Framework\Interception\PluginList\PluginList">
<arguments>
<argument name="cache" xsi:type="object">Magento\Framework\App\Cache\Type\Config</argument>
<argument name="reader" xsi:type="object">Magento\Framework\ObjectManager\Config\Reader\Dom\Proxy</argument>
<argument name="cacheId" xsi:type="string">plugin-list</argument>
<argument name="scopePriorityScheme" xsi:type="array">
<item name="first" xsi:type="string">global</item>
</argument>
</arguments>
</type>
...
Working di.xml:
Please make sure that it looks like this:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
...
<type name="Magento\Framework\Interception\PluginList\PluginList">
<arguments>
<argument name="cache" xsi:type="object">Magento\Framework\App\Cache\Type\Config</argument>
<argument name="reader" xsi:type="object">Magento\Framework\ObjectManager\Config\Reader\Dom\Proxy</argument>
<argument name="cacheId" xsi:type="string">plugin-list</argument>
<argument name="scopePriorityScheme" xsi:type="array">
<item name="primary" xsi:type="string">primary</item>
<item name="first" xsi:type="string">global</item>
</argument>
</arguments>
</type>
<type name="Magento\Framework\Interception\PluginListGenerator">
<arguments>
<argument name="reader" xsi:type="object">Magento\Framework\ObjectManager\Config\Reader\Dom\Proxy</argument>
<argument name="logger" xsi:type="object">\Psr\Log\LoggerInterface\Proxy</argument>
<argument name="scopePriorityScheme" xsi:type="array">
<item name="primary" xsi:type="string">primary</item>
<item name="first" xsi:type="string">global</item>
</argument>
</arguments>
</type>
...
var/generation
.