Compartilhar via


Solucionando problemas de exceções: System. InvalidOperationException

Um InvalidOperationException exceção é lançada quando a falha para chamar um método é causada por uma razão diferente de um argumento inválido. Isso pode ser lançado por .NET Framework métodos quando não é possível chamar o método base do Win32.

Associated Tips

  • If you are using the Graphics object after the GetHdc method, call the ReleaseHdc method.
    Isto lançara o identificador de contexto obtido por uma chamada anterior a GetHdc método de Graphics objeto.

  • TableAdapters exigem comandos válidos de UPDATE, INSERT e DELETE para executar uma operação de gravação bem-sucedidas.
    TableAdapters generate INSERT, UPDATE, and DELETE statements based on the original SELECT statement entered into the wizard. In some situations, the SELECT statement does not provide enough information for the adapter to generate the commands that are required to create the INSERT, UPDATE, and DELETE commands required for a successful save. This often occurs when the database table does not have a primary key column, or the SELECT command uses JOINS. For more information, see Como: Editar TableAdapters.

  • Passe um nome válido de ponto de extremidade para o construtor de cliente do serviço.
    Quando um Windows Communication Foundation (WCF) cliente tem apenas um ponto de extremidade, não há nenhuma ambigüidade e não é necessário listar o ponto de extremidade como um argumento. No entanto, quando dois ou mais pontos de extremidade existem para o mesmo tipo de contrato, você deve especificar qual deles, o cliente usa. Por exemplo, definindo um cliente como uma instância de ServiceReference.ServiceSoapClient(), sem um argumento, gera a exceção. Você pode resolver o problema, especificando um determinado ponto de extremidade:

    Dim client As New ServiceReference.ServiceSoapClient("ServiceSoap")

    Da mesma forma, essa exceção é lançada se você fornecer um nome de ponto de extremidade não foi encontrado. In this case, you must identify and provide a valid endpoint name.

Remarks

Quando você executa seu código na Visual Studio o depurador, uma InvalidOperationException é lançada se você acessar um elemento de interface do usuário de qualquer segmento diferente no qual foi criado. O depurador faz isso para advertir sobre uma prática de programação perigosa. UI elements are not thread-safe and should be accessed only on the thread that created them. Para obter mais informações, consulte Threading (C# e Visual Basic).

Se a falha da chamada de método é causada por um argumento ou argumentos inválidos, ArgumentException ou uma de suas classes derivadas, ArgumentNullException ou ArgumentOutOfRangeException, devem ser lançadas em.

Para o desenvolvimento de 64 bits com Visual Studio e SQL Server Compact 3.5, o Target CPU opção na Advanced Compiler Settings deve ser explicitamente definido como x86. Quando o Target CPU é definido como o valor padrão de Qualquer CPU, você poderá receber um "não é possível carregar sqlceme35.dll" mensagem. Set the Target CPU option in the Advanced Compiler Settings in project properties.

Consulte também

Tarefas

Como: Use o Assistente de exceção

Solucionando problemas de referências de serviço

Referência

InvalidOperationException

GetHdc

ReleaseHdc