Я получаю радостное название типа или пространства имен «Что-то» не существует в пространстве имен «Что-то еще» (вам не хватает ссылки на сборку?) ».Вам не хватает ссылки на сборку?
У меня есть проект веб-сайта, который содержит сам веб-сайт, а также несколько других пользовательских проектов, на которых полагается сайт. Проблема, с которой я сталкиваюсь, связана с одним из проектов, на которых основан веб-сайт, назовем его A. Он использует другой пользовательский проект под названием B.
Итак, B является частью решения, а I может успешно построить B. A имеет ссылку на B, и, как представляется, никаких ошибок нет (нет желтого треугольника-восклицательного знака). На самом веб-сайте также есть dll для A и B в папке Bin. У него также был файл dll.refresh для B, который был неправильным (неправильный путь). Однако, ручная коррекция dll.refresh, похоже, не имеет эффекта. Удаление этих файлов из папки bin в Интернете также не имеет эффекта.
Я также попытался удалить A и B из решения, а затем прочитать их. Я также попытался удалить ссылку A на B и затем добавить ее снова (как с вкладки проекта, так и с ручного просмотра на .dll).
Я также отметил этот безопасный визуальный источник, потому что проект работал до тех пор, пока я не получил последнюю версию из исходного элемента управления, поэтому эта проблема определенно связана с изменением одного из моих коллег (сознательных или иных). Я подозреваю, что это вызвано разным макетом файловой системы для проекта, но я не уверен, и если это так, я не понимаю, почему я не смог исправить эту проблему.
Это результат журнала Fusion, я еще не совсем понял его.
*** Assembly Binder Log Entry (10/20/2009 @ 1:43:06 PM) *** The operation failed. Bind result: hr = 0x80070002. The system cannot find the file specified. Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll Running under executable C:\Windows\SysWOW64\inetsrv\w3wp.exe --- A detailed error log follows. === Pre-bind state information === LOG: User = NT AUTHORITY\NETWORK SERVICE LOG: DisplayName = A, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null (Fully-specified) LOG: Appbase = file:///C:/source/ProjectRoot/Project/Website/ LOG: Initial PrivatePath = C:\source\ProjectRoot\Project\Website\bin LOG: Dynamic Base = C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\6db59b13 LOG: Cache Base = C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\6db59b13 LOG: AppName = 1601d5b6 Calling assembly : ProjectBO, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null. === LOG: This bind starts in default load context. LOG: Using application configuration file: C:\source\ProjectRoot\Project\Website\web.config LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework\v2.0.50727\Aspnet.config LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config. LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind). LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/root/6db59b13/1601d5b6/A.DLL. LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/root/6db59b13/1601d5b6/A/A.DLL. LOG: Attempting download of new URL file:///C:/source/ProjectRoot/Project/Website/bin/A.DLL. LOG: Attempting download of new URL file:///C:/source/ProjectRoot/Project/Website/bin/A/A.DLL. LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/root/6db59b13/1601d5b6/A.EXE. LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/root/6db59b13/1601d5b6/A/A.EXE. LOG: Attempting download of new URL file:///C:/source/ProjectRoot/Project/Website/bin/A.EXE. LOG: Attempting download of new URL file:///C:/source/ProjectRoot/Project/Website/bin/A/A.EXE. LOG: All probing URLs attempted and failed.
Судя по этой линии: "LOG: Initial PrivatePath = C: \ Source \ ProjectRoot \ Project \ Сайт \ Bin" он выглядит как его происходит после DLL в бункере сайта, а не происходит после того, как dll, связанный с проектом A. Однако я не вижу упоминания B. В любом случае, надеюсь, что это поможет, и я буду продолжать изучать Fusion, кстати, классный инструмент!
Разверните его и запустите журнал сварки. Он расскажет вам, где искать ваши DLL-файлы, которые помогут вам решить проблему. Это одна из причин, почему я избегаю веб-проектов, таких как чума. В WAP нет проблем. – Will
Эх, когда вы говорите «Разверните его», что именно это составляет? Я настроил его через IIS (7.0), чтобы перейти к чему-то вроде http://dev.project.com/ и получить сайт. Разве это «развернуто»? – Trajanus