Preheat oven to 350 degrees. Grease 3 8" baking pans with cooking spray. Add in 2-3 tablespoons of flour and tap it to cover the pan's sides and bottom. Tap out the extra flour into the garbage.
Using a cheesecloth or a fine mesh strainer, pour in a can of crushed pineapple. I used a fine mesh strainer and a spatula to press all of the juice out. A cheesecloth would be easier to just squeeze, if it's available to you. Any excess liquid can throw the recipe off, so get as much of it out as possible. Reserve the pineapple juice for the frosting.
Grate 3 large carrots or enough to make 2 cups. Set aside.
In a large mixing bowl, add in butter, sugar, and vegetable oil. Mix until thoroughly incorporated. It won't be light and creamy.
Add in the eggs one at a time. As soon as each one is incorporated, add another. Scrape down the sides of the bowl.
Once all the eggs are combined, beat for an additional 2 minutes. It will become thick and very pale. This is absolutely necessary!
Measure out the milk and vanilla extract. Set aside.
In a separate bowl, sift the cake flour, baking soda, baking powder, and cinnamon.
Alternately add the flour and milk mixture, always starting and ending with flour. Mix on medium speed until combined. I normally do 3 parts flour and two parts liquid. Scrape down the sides of the bowl.
Dump in the shredded carrots and crushed pineapple. Using a spatula, stir until evenly distributed into the dough.
Divide the batter evenly into the 3 8" prepared pans. Bake for 34 - 37 minutes or until done. Mine took exactly 36 minutes. Use a toothpick and insert it into the center of the cake. If it comes out clean, the cake is done. If there is batter or moist crumbs on it, let it go for another minute or two.
Remove from the oven and let cool in the pan for 15 - 20 minutes. Turn out onto the wire rack to finish cooling. Work on the frosting.
In a large mixing bowl, add in the butter and cream cheese. Beat on medium until smooth. Lumpy cream cheese is a no-go for frosting.
Add in the powdered sugar and pineapple juice. Turn mixer on low until the powdered sugar is incorporated then bump it up to high and beat for a minute until thick and creamy.
Place the first layer of cake on your cake plate. Add a decent amount of cream cheese on top and evenly spread out.
Repeat with the second layer of cake and cream cheese frosting.
Add the last layer of cake and give it a gentle press to make sure it is even.
Add 1/2 of the remaining frosting on top of the cake and work it around with the spatula. Make sure the top of the cake is even. The frosting is welcome to start working its way down the sides of the cake. Grab some more frosting and work on the sides of the cake.
Once the sides of the cake are covered, give it a final spin and even out the sides.
Using the end of an off-set spatula, draw C's in the top of the cake. I normally make the bottom of the C much longer than the top.
Coat the bottom of the cake with toasted pecans.