Stop SQL Server 2012 From Highlighting Implicitly Passed Temp Tables "Invalid Object"
Is there any way to "force" knowledge of a Temp Table's schema into a Stored Proc?
  


You could pass the data using a Table-Valued Parameter instead.  Or you could try something like this:

create proc usp_myProc
as
begin
    create table #temp
    (
        id int
        ,data int
    )

    exec usp_mySubProc;
end
go

create proc usp_mySubProc
as 
begin

    --table creation will be skipped at runtime
    if 1=0 create table #temp(id int, data int)

    update
        #temp 
    set
        data = 1

end
go