سلام
بعنوان اولین راه حل پیشنهاد میکنم نسخه dotNetFramework پروژه تان را از 2.0 یا 3.5 حداقل به نسخه 4.0 ارتقا دهید.
و اما بعنوان راه حل دوم ...
یک فایل app.config به پروژه تان اضافه کنید (منوی Project و سپس Add New Item)
و محتویاتی شبیه این را در آن قرار دهید:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
<requiredRuntime version="v4.0.20506" />
</startup>
</configuration>
دقت کنید که پس از کامپایل برنامه و جهت تحویل به کارفرما/مشتری یا نصب در رایانه مقصد ، بخر فایل exe یک فایل exe.config هم کنار آن وجود دارد که آن هم را تحویل بدهید(کپی کنید)
در ضمن برای خواندن یکجای کل یک فایل بجای FileStream و StreamReader میتوانید از تابع آماده ReadAllText هم استفاده کنید که دقیق همان کار را انجام میدهد
تاثیری در سرعت و کیفیت ندارد و همان کد خودتان است فقط کمی ساده تر ، کوتاه تر و جمع و جورتر میشود.
string filePath = Path.Combine(Application.StartupPath, "query.sql") ;
if (File.Exists(filePath))
{
string sql = File.ReadAllText(filePath) ;
SqlConnection con_str = new SqlConnection(@"Data Source=.;Initial Catalog=myDB;User ID=user1;Password=123456") ;
Server server = new Server(new ServerConnection(con_str)) ;
server.ConnectionContext.ExecuteNonQuery(sql) ;
}
موفق باشید