Hi, I've just been wrangling with pretty much the same issue for nearly an hour. In my experience (and in most of the stuff I encountered online) it was a naming collision.
My scenario had a server control declared in my .aspx file with the same ID as a protected object in the same page's code behind. Normally this would not even be able to compile, however the ID's of the two objects had differences in case. In my instance:
In the .aspx file:
<asp:Repeater ID="breadcrumbList" runat="server">
Then in the code behind:
protected List<BreadcrumbItem> BreadcrumbList;
This code compiled fine, would run locally and would even build using a web deployment project without issue. But attempts to access the compiled site would trigger the "Parser Error Message: Ambiguous match found" error (on line 1 of the file with the naming collision).
Changing the ID of either of the objects resolved the problem. Good luck.