Импорт ссылок не распознается во время выполнения

У меня есть файл aspx и файл конфигурации...

<%@ Page Language="C#" Debug="true"%>
<%
    ....
%>

<?xml version="1.0"?>
<configuration>
    <appSettings>
        ....
    </appSettings>
    <system.web>
        <compilation debug="false" strict="false" explicit="true" />
        <pages>
            <namespaces>
                <clear/>
                ....
                <add namespace="OnTimeApi"/>
                <add namespace="Newtonsoft.Json"/>
            </namespaces>
        </pages>
    </system.web>
</configuration>

Я поместил эти два файла в пустое решение VS и включил папку App_Data/, в которой есть OnTimeApi.dll и Newtonsoft.Json.dll. В VS он распознает оба этих файла DLL, так как синтаксис выделен правильно. Однако, когда я запускаю его с помощью iis, выдает следующую ошибку:

Сообщение об ошибке компилятора: CS0246: не удалось найти тип или имя пространства имен 'Newtonsoft' (отсутствует директива using или ссылка на сборку?)

Ошибка источника:

Line 33:         <add namespace="System.Collections.Generic"/>
Line 34:         <add namespace="OnTimeApi"/>
Line 35:         <add namespace="Newtonsoft.Json"/>
Line 36:       </namespaces>
Line 37:        </pages>

Исходный файл: c:\inetpub\ontimeconnector\Web.config Строка: 35

2 ответа

Я выяснил причину. Это была неверная конфигурация в диспетчере iis. Я, вероятно, должен был быть более конкретным с этим вопросом.

Убедитесь, что вы не просто добавили ссылку на папку App_Data, но и проект. Щелкните правой кнопкой мыши проект -> Добавить ссылку, выберите эти библиотеки DLL. Это должно решить вашу проблему.

Если библиотеки DLL не помечены как ссылки для проекта, они не обязательно будут правильно связывать / копировать их для вывода во время компиляции и, следовательно, могут не загружать их во время выполнения.

Другие вопросы по тегам