Это правда, что ASP. NET MVC сильно зависит от отражения, и поэтому вы не можете запутать тип или свойства, которые будут отражены. Тем не менее, я бы сказал, что нет необходимости запутывать большую часть этого материала в любом случае. Имена вашего контроллера и имена действий уже общедоступны, так как они появляются в URI. Ваши модели презентаций также по сути являются общедоступными, поскольку они должны быть спроектированы так же, как ваше представление, и поскольку конечные пользователи могут видеть ваше представление.
Ваши контроллеры должны быть очень легкими и просто связывать объекты из репозитория с вашими моделями презентаций. Так что здесь мало интеллектуальной собственности, чтобы спрятаться.
Код, который вы на самом деле хотели бы запутать, вероятно, будет вашей бизнес-логикой, которая очень легко может находиться в отдельной сборке. Поэтому я бы предложил вместо того, чтобы пытаться запутать обфускатор за обфускатором и попытаться найти тот, который кажется работающим (за исключением тех ошибок, которые вы пропустили, но ваши пользователи обнаружат позже), вместо этого вы разделите раздел код, который важно запутывать, и он не так сильно зависит от размышлений.