我是mvc和c#的新手,无法解决以下问题:
我正在尝试在解决方案文件夹中创建一个名为“ Items”的文件夹。我尝试使用CreateDirectory方法:
Directory.CreateDirectory("~/Images");
Run Code Online (Sandbox Code Playgroud)
但这对我不起作用-未创建文件夹。
部分可行的解决方案是通过以下方式创建文件夹:
Directory.CreateDirectory(Server.MapPath("~/Images"));
Run Code Online (Sandbox Code Playgroud)
如何在解决方案目录中创建文件夹,使其包含在项目中?
(我需要通过代码而不是手工来完成)
您需要了解用于什么目的solution和csproj文件
通常,它们是通过Visual Studio 设计和用于开发的,一旦项目被编译,所有这些文件都将被忽略并从部署包中排除。
Directory.CreateDirectory(Server.MapPath("~/Images"));
Run Code Online (Sandbox Code Playgroud)
如果运行时部署包中尚不存在上述代码,则仅创建目录,因此除非在本地运行项目(调试/发布模式,在这里都没有关系),否则您将不会在解决方案中看到该目录。但是,所有内容都将在托管环境(例如IIS)中正常运行。
为了您的信息,这里是一个什么样的简短solution而csproj为
solution(.sln)文件:包含管理一个或多个独立项目的信息,包含构建环境(针对每个项目),启动模式(当您要一次运行多个项目时很有用),项目依赖项等。请注意,VS还从suo用于定义用户自定义首选项的文件(解决方案用户选项)中读取(您不应在版本控件中包含.suo文件,因为它是自定义设置)
csproj 文件:定义项目的结构,名称空间是什么,什么是静态文件夹,嵌入式资源,引用,包等。
最后,如果您手动创建文件夹,VS将自动将该文件夹包含在deployment packageAND中csproj,但是取决于文件类型,您可能需要更改Build Action和Copy To Output Directory属性。
希望能帮助到你。
Web 服务器上部署的 Web 应用程序没有任何 Visual Studio 解决方案或项目的概念。因此,这Directory.CreateDirectory(Server.MapPath("~/Images"))是在运行时在 Web 应用程序中创建文件夹的正确方法,但我们不能谈论将其包含到解决方案中,因为这在预编译的 Web 应用程序中几乎没有意义。如果您在本地开发计算机上创建目录,则始终可以手动将该文件夹包含到相应的.csproj文件中,但在运行时这不会产生任何差异。
| 归档时间: |
|
| 查看次数: |
11848 次 |
| 最近记录: |