Не удалось найти тип или имя пространства имен при запуске проекта веб-форм asp. net - PullRequest
0 голосов
/ 13 июля 2020

Я создал файл aspx и хочу использовать класс из другого проекта. Я попытался использовать <%@ Import Namespace="DTO" %> в файле aspx, он показал ошибку 0, но когда я запустил проект, файл aspx показал ошибку: CS0246: не удалось найти тип или имя пространства имен 'DTO'. Я также пробовал использовать приведенный ниже код в файле Web.config:

<pages>
          <namespaces>
            <add namespace="DTO"/>
          </namespaces>
</pages>

Он также показал ошибку 0, но когда я запускаю проект, файл aspx показывает ту же ошибку. Я добавил ссылку на другой проект, оба моих проекта используют. Net Framework 4.5.2. Visual Studio всегда показывала ошибку 0, но файл aspx всегда показывал «CS0246: не удалось найти тип или имя пространства имен 'DTO'». когда я бегу.

Edit Это код, который я использую в файле aspx:

<%@ Page Title="" Language="C#" MasterPageFile="~/Default.Master" AutoEventWireup="true" CodeBehind="cart.aspx.cs" Inherits="Demo_MasterPage.cart" %>
<%@ Import Namespace="DTO" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <%
        List<OrderItem> cart = Session["cart"] as List<OrderItem>;
    %>
</asp:Content>

и это код класса OrderItem

namespace DTO
{
    public class OrderItem
    {
        public int OrderId { get; set; }
        public string ProductId { get; set; }
        public int Quantity { get; set; }
        public OrderItem()
        {

        }
        public OrderItem(int orderId, string productId, int quantity)
        {
            OrderId = orderId;
            ProductId = productId;
            Quantity = quantity;
        }
    }
}

1 Ответ

0 голосов
/ 14 июля 2020

Вам необходимо использовать полное пространство имен сборки, которую вы хотите импортировать. Это означает, что вы должны добавить имя проекта, на которое вы тоже ссылались:

<%@ Import Namepace="myProject.DTO"%>

См. Как импортировать пользовательское пространство имен из файла dll на страницу .aspx

Кроме того, когда вы устанавливаете ссылку, убедитесь, что для свойства copy local установлено значение true.

...