yılında Server.MapPath kullanarak ben kodMVC3
string xsltPath = System.Web.HttpContext.Current.Server.MapPath(@"App_Data") + "\\" + TransformFileName
O Neden ServiceController, SERVICENAME
yolunu alıyorum
C:\inetpub\wwwroot\websiteName\SERVICENAME\App_Data\FileName.xsl
döndürür var? Ben Sen sanal kökünden başlamak istediğinizi belirtmeniz gerekir
C:\inetpub\wwwroot\websiteName\App_Data\FileName.xsl
Bu çalışır. "Sanal kök" ile ilgili bir yazı okuyorum ama iyi takip etmedim. http://www.dotnetperls.com/mappath "Mutlak" ve "göreceli" yolları tanımlayabilir ve "fiziksel" ve "sanal" yollarla nasıl karşılaştırabilirler? –
@ P.Brian.Mackey: Mutlak, "/ someTopDirectory/someSubDirectory" gibi kökten gelen yol anlamına gelir. Göreceli, şu anda bulunduğunuz yerden bir yol demektir, bu nedenle "someSubDirectory" dizinindeyseniz ve "someTopDirectory" konumuna gitmek istiyorsanız, göreceli bir yol ".." (bir dizine geçin) olur. Fiziksel yollar, sistem onları gördükleri yollardır: "C: \ inetpub \ myApp \ someTopDirectory \ someSubDirectory". Sanal yollar, bir web sunucusu uygulaması olarak görür: "/ someTopDirectory/someSubDirectory". –
@ P.Brian.Mackey: Durumunuz için daha fazla açıklığa kavuşturmak için MapPath, sanal yolu fiziksel yola dönüştürür. Sanal yolun parametrenizde, göreceli olan yerine mutlak bir yol sağlamak istersiniz. Bir web uygulamasındaki mutlak yol için "kök" ü belirten işaret "~" dir, yani mutlak sanal kök = "~ /". –