2010-04-25 25 views
0

單擊asp.net應用程序中的按鈕process.start()運行帶有參數的edmgen工具。而且我趕上錯誤: alt textProcess.Start()edmgen

var cs =ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString; 

    string myArgs="/mode:fullgeneration /c:\""+cs+"\" /project:nwd /entitycontainer:SchoolEntities /namespace:SchoolModel /language:CSharp "; 
    string filename= GetFrameworkDirectory() + "\\EdmGen.exe"; 

    ProcessStartInfo startInfo = new ProcessStartInfo(filename,myArgs); 
    startInfo.UseShellExecute = false; 

    //startInfo.RedirectStandardError = true; 
    Process myGenProcess = Process.Start(startInfo); 

    //genInfo.Text = myGenProcess.StandardError.ReadToEnd(); 

如何解決這一問題?

回答

2

您需要將完整路徑傳遞給您有權寫入輸出的文件夾。

+0

我剛加入/ outssdl:d:\「/ generateEntityModel.ssdl \」並解決我的問題。我也必須添加options/outmsl/outssdl/outobjectlayer/outviews。謝謝。 – loviji 2010-04-25 20:12:40

0

那麼錯誤表明您無權訪問「C:\ Program Files \ Common Files \ Microsoft Shared \ DevServer \ 10.0 \ nwd.ssdl」。

檢查您的進程是否具有對該文件和樹上所有文件夾的必要權限。

+0

我沒有在位置C:\ Program Files \ Common Files \ Microsoft Shared \ DevServer \ 10.0 \中輸入nwd.ssdl。所以我認爲它試圖在運行時生成。 – loviji 2010-04-25 20:14:21

+0

那是因爲你給了一個相對路徑;它默認爲該文件夾。 – SLaks 2010-04-25 20:15:16