如何发布和预编译项目,使用GleamTech FileUltimate在

本文关键字:使用 GleamTech FileUltimate 项目 何发布 编译 | 更新日期: 2023-09-27 18:15:42

我在我的项目中使用了GleamTech FileUltimate文件管理组件。我将此程序集添加到我要使用的每个页面FileUltimate:

<%@ Register TagPrefix="GleamTech" Assembly="GleamTech.FileUltimate" Namespace="GleamTech.FileUltimate" %> 

或Add this to web。配置文件:

<httpModules>
   <add name="FileUploaderModule" type="GleamTech.Web.UploadModule"/>
</httpModules>
<pages>
  <controls>
    <add tagPrefix="GleamTech" assembly="GleamTech.FileUltimate" namespace="GleamTech.FileUltimate"/>
  </controls>
</pages>

当我想建立和运行网站,给我一个消息:

有构建错误。

在这种情况下我选择是,网站工作正常,但是当我想发布网站并在最后一步选择预编译时,编译器给出一些错误:

错误:无法创建类型为"GleamTech.FileSystems"的对象。Location'从它的字符串表示形式'~/upload/fm/'为'Location'属性。

错误:在'System.Collections.ObjectModel.Collection ' 1[[GleamTech.FileUltimate. collection]中不允许文字内容(")。FileManagerRootFolder GleamTech。FileUltimate, Version=4.5.0.0, Culture=neutral, PublicKeyToken=a05198837413a6d8]] .

错误:[[GleamTech.FileUltimate System.Collections.ObjectModel.Collection"1。FileManagerRootFolder GleamTech。FileUltimate, Version=4.5.0.0, Culture=neutral, PublicKeyToken=a05198837413a6d8]]必须有类型为"GleamTech.FileUltimate.FileManagerRootFolder"的项。'GleamTech:FileManagerAccessControl'的类型为'GleamTech. fileultimate .FileManagerAccessControl'.

是否有任何方法可以预编译我的项目并忽略这些错误?我该如何解决我的问题?

问好。

如何发布和预编译项目,使用GleamTech FileUltimate在

为将来参考,

在FileUltimate v5.3.8中修复了这个问题。这个问题只存在于"Web Site"项目中,而不存在于"Web Application"项目中。

修正:在网站项目中,当您在aspx页面中添加FileManager标记并构建网站时,构建失败并出现以下错误消息(实际上是3个错误消息,但主要是这个,其他是后果):无法创建类型为"GleamTech.FileSystems"的对象。

实际上对于旧版本有一个解决方法:

  1. 在aspx页面中只包含这个标记:

    <GleamTech:FileManager ID="fileManager" runat="server" 
                       Width="800"
                       Height="600" 
                       Resizable="True" />
    
  2. 然后在aspx.cs文件后面的代码中,添加你的根文件夹和访问控制:

    protected void Page_Load(object sender, EventArgs e)
    {
        var rootFolder = new FileManagerRootFolder
        {
            Name = "A Root Folder",
            Location = "~/App_Data/RootFolder1"
        };
        rootFolder.AccessControls.Add(new FileManagerAccessControl
        {
            Path = @"'",
            AllowedPermissions = FileManagerPermissions.Full
        });
        fileManager.RootFolders.Add(rootFolder);
    }