Preheat oven to 350 F. Coat a 9 inch square baking pan with nonstick spray. Put a long piece of parchment paper in the bottom of the pan, letting the parchment extend up the two short sides of the pan and overhang slightly on both ends. Spray again with nonstick spray.
To make struesel: In a small bowl, melt butter; stir in the flour, pecans, dried cranberries, sugar and orange zest; set streusel aside.
To make the cake: In a food processor, pulse fresh cranberries, 3/4 cup sugar and orange zest; set aside.
In a medium bowl, whisk together flour, salt, cinnamon and baking powder. Set aside.
In a small bowl, whisk together eggs and egg yolk; set aside.
In the bowl of a stand mixer fitted with the paddle attachment cream butter and remaining 1 1/2 cups sugar. Add flour mixture and egg mixture alternately to butter mixture, beating well after each addition.
Transfer half of batter to prepared pan; top with cranberry mixture and remaining batter, smoothing each layer. Use a knife to swirl batter and cranberries; top cake with streusel.
Bake cake 55 to 60 minutes; cool on rack for 20 minutes before serving.