Your comment on Nick's answer implies that you are trying to put a .css file in the same folder as the Theme.Master file that is under the ~/Views/ folder tree. You can't do this. The ~/Views/ tree is configured to block all HTTP requests from the web browser.
You need to put your .css file in an accessible location. The ~/Content/ folder tree is the traditional place to put a .css file. If you move your .css file there and then use this as Nick suggested, it will work:
<link href="<%= Url.Content("~/Content/Site.css") %>" rel="stylesheet" type="text/css" />
For the record, it doesn't work in the Views folder because of these directives in the web.config file (note, there is a web.config file directly in the Views folder). This is just FYI. I don't advise you try to mess with these as they are there for generally good reasons:
<!-- for IIS6 -->
<httpHandlers>
<add path="*" verb="*"
type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>
<!-- for IIS7 -->
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler"/>
</handlers>