C# 虚拟路径**映射到另一个应用程序,这是不允许的

C# 虚拟路径**映射到另一个应用程序,这是不允许的,c#,.net,C#,.net,这是否可能: 我在以下目录中有带有usercontrols的web应用程序: C:\Users\Visual Studio 2010\WebSites\MS\Controls 我的机器上有另一个web应用程序,位置如下: C:\Users\Visual Studio 2010\WebSites\TestSite TestSite可以从不同的目录加载userwebcontrol 我在TestSite中尝试了以下操作: myUserControl = (UserControl)LoadControl

这是否可能:

我在以下目录中有带有usercontrols的web应用程序: C:\Users\Visual Studio 2010\WebSites\MS\Controls

我的机器上有另一个web应用程序,位置如下: C:\Users\Visual Studio 2010\WebSites\TestSite

TestSite可以从不同的目录加载userwebcontrol

我在TestSite中尝试了以下操作:

myUserControl = (UserControl)LoadControl("../WebSites/CMS/Controls/test.ascx");
但是我得到了一个错误:虚拟路径“/WebSites/MS/Controls/test.ascx”映射到另一个应用程序,这是不允许的

在开始时尝试使用~但得到的文件“/TestSite/MS/Controls/Editor.ascx”不存在


可以这样做吗?

,而不是文件系统路径。如果VisualStudio项目的根目录是C:\Users\VisualStudio 2010\WebSites\TestSite,则该根目录是该应用程序能够引用的最低根目录(使用“~”)

在我的例子中,cshtml文件中的
Layout
的值是错误的。 应该是

Layout = "~/Views/Shared/_MySiteMaster.cshtml"
而不是

Layout = "/Views/Shared/_MySiteMaster.cshtml" 

在同样的情况下,我也会犯同样的错误。这个问题解决了吗?这里也是一样,试图从另一个控制台应用加载一个用户控件,它没有虚拟路径的上下文,那么我们如何加载该用户控件?!有什么想法吗?如果你确实解决了这个问题,我也希望得到更新。我的项目虚拟路径需要正确设置。谢谢