Пространство имен / класс C # в отдельном файле, вызывающее ошибки при просмотре - PullRequest
0 голосов
/ 04 марта 2010

У меня есть два проекта 'HOD' и 'Controllers'. Контроллеры - это библиотека классов с пространством имен «Контроллеры». В файле кода для HOD я пытаюсь сослаться на пространство имен Controllers, используя «Controllers». Я добавил ссылку в проекте HOD для контроллеров, и она появляется в VS2008 в папке ссылок.

Когда я строю проект, я не получаю ошибок, но когда я захожу, чтобы просмотреть страницу, я получаю сообщение об ошибке «Не удалось найти имя типа или пространства имен« Контроллеры »(отсутствует директива using или ссылка на сборку ?).

Controllers.cs (библиотека классов, проект Controllers)

using System;
using System.Collections.Generic;
using System.Text;

namespace Controllers
{

    public class Controller {    }

}

index.aspx.cs (проект HOD)

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Controllers;


public partial class HOD : Page
{

    string sop() { return "sop"; }

    protected void Page_Load(object sender, EventArgs e)
    {
        blahmsg.Text = sop();
    }

}

Проект расположен на нашем веб-сервере, а Controllers.dll находится в той же папке bin, что и HOD.dll. Заранее спасибо за помощь!

редактировать: .sln содержание

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "T:", "T:\", "{1D5F28B3-E6A0-4CF8-B7A3-43121225C73E}"
    ProjectSection(WebsiteProperties) = preProject
    TargetFramework = "2.0"
    Debug.AspNetCompiler.VirtualPath = "/T:"
    Debug.AspNetCompiler.PhysicalPath = "T:\"
        Debug.AspNetCompiler.TargetPath = "E:\DEV\webdev\webdev\PrecompiledWeb\T:\"
        Debug.AspNetCompiler.Updateable = "true"
        Debug.AspNetCompiler.ForceOverwrite = "true"
        Debug.AspNetCompiler.FixedNames = "false"
        Debug.AspNetCompiler.Debug = "True"
        Release.AspNetCompiler.VirtualPath = "/T:"
        Release.AspNetCompiler.PhysicalPath = "T:\"
        Release.AspNetCompiler.TargetPath = "E:\DEV\webdev\webdev\PrecompiledWeb\T:\"
        Release.AspNetCompiler.Updateable = "true"
        Release.AspNetCompiler.ForceOverwrite = "true"
        Release.AspNetCompiler.FixedNames = "false"
        Release.AspNetCompiler.Debug = "False"
        VWDPort = "53327"
    EndProjectSection
EndProject

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HOD", "Y:\HOD\HOD.csproj", "{5F523FB7-B902-4E6E-BAA9-C2EB37D69EC7}"
EndProject

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Controllers", "Y:\HOD\Controllers\Controllers.csproj", "{E6A16990-5FC6-4FE3-8DAB-CD2FEC8CF4FF}"
EndProject
Global
    GlobalSection(SolutionConfigurationPlatforms) = preSolution
        Debug|Any CPU = Debug|Any CPU
        Release|Any CPU = Release|Any CPU
    EndGlobalSection
    GlobalSection(ProjectConfigurationPlatforms) = postSolution
        {C8A12BBE-4483-4560-97A4-795F2E57D667}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {C8A12BBE-4483-4560-97A4-795F2E57D667}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {C8A12BBE-4483-4560-97A4-795F2E57D667}.Release|Any CPU.ActiveCfg = Debug|Any CPU
        {C8A12BBE-4483-4560-97A4-795F2E57D667}.Release|Any CPU.Build.0 = Debug|Any CPU
        {A81C381B-1E12-49B0-8BC0-8532EF9F216F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {A81C381B-1E12-49B0-8BC0-8532EF9F216F}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {A81C381B-1E12-49B0-8BC0-8532EF9F216F}.Release|Any CPU.ActiveCfg = Debug|Any CPU
        {A81C381B-1E12-49B0-8BC0-8532EF9F216F}.Release|Any CPU.Build.0 = Debug|Any CPU
        {BD46969E-9D1C-419A-A82C-388E35BF7C13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {BD46969E-9D1C-419A-A82C-388E35BF7C13}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {BD46969E-9D1C-419A-A82C-388E35BF7C13}.Release|Any CPU.ActiveCfg = Debug|Any CPU
        {BD46969E-9D1C-419A-A82C-388E35BF7C13}.Release|Any CPU.Build.0 = Debug|Any CPU
        {1D5F28B3-E6A0-4CF8-B7A3-43121225C73E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {1D5F28B3-E6A0-4CF8-B7A3-43121225C73E}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {1D5F28B3-E6A0-4CF8-B7A3-43121225C73E}.Release|Any CPU.ActiveCfg = Debug|Any CPU
        {1D5F28B3-E6A0-4CF8-B7A3-43121225C73E}.Release|Any CPU.Build.0 = Debug|Any CPU
        {5F523FB7-B902-4E6E-BAA9-C2EB37D69EC7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {5F523FB7-B902-4E6E-BAA9-C2EB37D69EC7}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {5F523FB7-B902-4E6E-BAA9-C2EB37D69EC7}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {5F523FB7-B902-4E6E-BAA9-C2EB37D69EC7}.Release|Any CPU.Build.0 = Release|Any CPU
        {E6A16990-5FC6-4FE3-8DAB-CD2FEC8CF4FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {E6A16990-5FC6-4FE3-8DAB-CD2FEC8CF4FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {E6A16990-5FC6-4FE3-8DAB-CD2FEC8CF4FF}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {E6A16990-5FC6-4FE3-8DAB-CD2FEC8CF4FF}.Release|Any CPU.Build.0 = Release|Any CPU
    EndGlobalSection
    GlobalSection(SolutionProperties) = preSolution
        HideSolutionNode = FALSE
    EndGlobalSection
EndGlobal

Вывод компилятора

------ Перестроить все началось: Проект: Контроллеры, Конфигурация: Отладка любого процессора ------ C: \ Windows \ Microsoft.NET \ Framework \ v3.5 \ Csc.exe / noconfig / nowarn: 1701,1702 / сообщение об ошибке: запрос / предупреждение: 4 / define: DEBUG; TRACE / ссылка: "C: \ Program Files ( x86) \ Ссылочные сборки \ Microsoft \ Framework \ v3.5 \ System.Core.dll "/ reference:" C: \ Program Files (x86) \ Ссылочные сборки \ Microsoft \ Framework \ v3.5 \ System.Data.DataSetExtensions. dll "/reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Data.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll / ссылка: C : \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ System.Xml.dll / ссылка: "C: \ Program Files (x86) \ Справочные сборки \ Microsoft \ Framework \ v3.5 \ System.Xml.Linq.dll "/ debug + / debug: full / filealign: 512 / optimize- /out:obj\Debug\Controllers.dll / target: library Class1.cs Properties \ AssemblyInfo.cs

Компиляция завершена - 0 ошибок, 0 предупреждений Контроллеры -> Y: \ HOD2 \ Controllers \ bin \ Debug \ Controllers.dll ------ Перестроить все началось: Проект: HOD, Конфигурация: Отладка любого процессора ------ C: \ Windows \ Microsoft.NET \ Framework \ v3.5 \ Csc.exe / noconfig / nowarn: 1701,1702 / сообщение об ошибке: запрос / предупреждение: 4 / define: DEBUG; TRACE / ссылка: Y: \ HOD2 \ Controllers \ bin \ Debug \ Controllers.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Configuration.dll / reference: "C: \ Program Files (x86) \ Справочные сборки \ Microsoft \ Framework \ v3.5 \ System.Core.dll "/ ссылка:" C: \ Program Files (x86) \ Справочные сборки \ Microsoft \ Framework \ v3.5 \ System.Data.DataSetExtensions.dll "/ ссылка: C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ System.Data.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll / ссылка: C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ System.Drawing.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.EnterpriseServices.dll / ссылка: C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ System.Web.dll / ссылка: «C: \ Program Files (x86) \ Справочные сборки \ Microsoft \ Framework \ v3.5 \ System.Web.Extensions.Design.dll» / ссылка: «C: \ Program Files (x8) 6) \ Ссылочные сборки \ Microsoft \ Framework \ v3.5 \ System.Web.Extensions.dll "/reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Web.Mobile.dll / reference: C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ System.Web.Services.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll / ссылка: "C : \ Program Files (x86) \ Справочные сборки \ Microsoft \ Framework \ v3.5 \ System.Xml.Linq.dll "/ debug + / debug: full / optimize- /out:obj\Debug\HOD.dll / target: library index.aspx.cs index.aspx.designer.cs Properties \ AssemblyInfo.cs

Компиляция завершена - 0 ошибок, 0 предупреждений HOD -> Y: \ HOD2 \ bin \ HOD.dll ========== Перестроить все: 2 успешно выполнено, 0 не выполнено, 0 пропущено ==========

Ответы [ 3 ]

1 голос
/ 04 марта 2010

chelfers, спасибо за размещение файла sln здесь. В соответствии с этим у вас нет ссылки на проект.

Вы можете добавить его из Visual Studio (удалить ссылку, сохранить, добавить ссылку) или вместо нее добавить следующую строку:

ProjectReferences = "{E6A16990-5FC6-4FE3-8DAB-CD2FEC8CF4FF}|Controllers.dll;"

прямо под

ProjectSection(WebsiteProperties) = preProject
    TargetFramework = "2.0"

(и для безопасности сначала сделайте копию файла .sln).

PS: И перейти на 3.5, это XXI век:)

0 голосов
/ 05 марта 2010

Будет ли у вас на сервере какой-нибудь антивирус?

Я столкнулся с проблемами, когда aspnet_wp не смог загрузить DLL, потому что файл был заблокирован McAffee на сервере.

Исправлено было отключить проверку антивируса в реальном времени в каталоге bin.

Ура, Florian

0 голосов
/ 04 марта 2010

Я попытался воссоздать ваше решение с помощью двух проектов, перечисленных выше. Все скомпилировано и работает просто отлично. (Я предположил, что blahmsg был .)

Кажется, нет ничего плохого в том, что вы опубликовали, что заставляет меня думать, что это проблема кеширования. Я бы попытался очистить следующее:

  • Папка bin вашего веб-приложения
  • C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Временные файлы ASP.NET
  • Удалите ваши файлы .csproj.user для обоих проектов. У меня были проблемы с причинами в прошлом.

Если это не поможет, я рассмотрю это подробнее. Можете ли вы опубликовать любой другой соответствующий исходный код? Возможно, разметка для веб-страницы?

...