- Remove From My Forums
Ошибка Метод не найден при генерации кодированных тестов ПИ
-
Вопрос
-
При генерации кодированного тестапользовательского интерфейса после нажатия на кнопку сформировать код вываливается ошибка: Метод не найден: «Void Microsoft.VisualStudio.TestTools.Diagnostics.SqmTrace.SetBits(Microsoft.VisualStudio.TestTools.Diagnostics.VsttSqmDataPoint,
UInt32)».После чего генерации не происходит, сам код пустой. При этом список записанных шагов имеет немало записей.
Не подскажите, с чем это может быть связанно и как исправляется?
Я сама найти библиотеку Microsoft.VisualStudio.TestTools.Diagnostics не смогла. Может ее надо отдельно ставить, тогда где брать?
Ответы
-
-
Помечено в качестве ответа
16 января 2015 г. 7:34
-
Помечено в качестве ответа
i am new in this and i have a problem. Sorry for my english.
I have a windows project and i have a library called «libPQR»; in there, i have a public method called «guardarPQR». In that method i define a SQL sentence and call a method for validate the datums; after that, i call a private method inside de library call «grabar» where i do the conexion to the database.
The problem is when i call the method «grabar»,it caught an exception that it say: «method not found:’void libConexionBD.clsConexionBD.set_SQL(System.String)’.»
I dont understand, because method grabar returns a bool type.
I show you the code:
public bool guardarPQR()
{
bool bandera;
try
{
strSQL = "insert into PQR values('" + strDescripcion + "'," + intSistema + ",'" + string.Format("{0:dd/MM/yyyy}", dtfecha) + "', '" + string.Format("{0:HH:mm}", dthorainicio) + "', '" + string.Format("{0:HH:mm}", dthorafinalizacion) + "'," + intError + ")";
if (!validar())
return false;
bandera = grabar();
return bandera;
}
catch (Exception ex)
{
strError = ex.Message;
return false;
}
And this is the other method:
private bool grabar()
{
try
{
objCnx = new clsConexionBD();
objCnx.SQL = strSQL;
if (!objCnx.ConsultarValorUnico(false))
{
objCnx = null;
return false;
}
intId = Convert.ToInt32(objCnx.Valor_Unico);
objCnx.CerrarCnx();
objCnx = null;
return true;
}
catch (Exception ex)
{
strError = ex.Message;
return false;
}
}
Thanks for the help.
This is the library: libconexionBD
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//Referenciar y usar
using System.Data;//Facilita usar los objetos conectados y desconectados
using System.Data.SqlClient;//Objeto especializado para conexion a sql server //Commmon para oracle //SQLServer entrar a sqlserver y bajar drive para .net
//Referenciar y usar
using System.IO;
namespace libConexionBD
{
public class clsConexionBD
{
#region "Constructor"
public clsConexionBD()
{
blnHayCnx = false;
objCnx = new SqlConnection(); //Para la Conexión
objCmd = new SqlCommand(); //Para la Transacción
objAdapter = new SqlDataAdapter(); //Para la llenar el DataSet
objDts = new DataSet(); //Para el DataSet
}
#endregion
#region "Atríbutos"
private string strCadenaCnx; //Para la cadena de conexón a la BD
private object objVrUnico; //Para la captura y retorno del Vr. único(método: ConsultarValorUnico))
private string strSQL; //Para la sentencia SQL a ejecutarse en la BD
private string strError; //Para el mensaje de error
private bool blnHayCnx; //Para saber si hay o no Cnx a la BD
private SqlConnection objCnx; //Para el objeto Conexión
private SqlCommand objCmd; //Para el objeto Command (realiza la transacción)
private SqlDataReader objReader; //Para el objeto DataReader (contenedor de info)
private SqlDataAdapter objAdapter; //Para el objeto DataAdapter (para llenar el DataSet, entre otros)
private DataSet objDts; //Para el objeto DataSet (contenedor de info)
#endregion
#region "Propiedades"
public string SQL //Para ingresar la sentencia SQL a ejecutarse en la BD
{ set { strSQL = value; } }
public object Valor_Unico //Para retornar el valor obtenido al invocar el método: ConsultarValorUnico
{ get { return objVrUnico; } }
public SqlDataReader DataReader_Lleno //Para retornar el DataReader con la info obtenida al invocar el método: Consultar
{ get { return objReader; } }
public DataSet DataSet_Lleno //Para retornar el DataSet con la info obtenida al invocar el método: LlenarDataSet
{ get { return objDts; } }
public string Error //Para retornar el mensaje de error
{ get { return strError; } }
#endregion
#region "Métodos Privados"
private bool GenerarCadenaCnx()
{
/*try
{
if ( string.IsNullOrEmpty( strApp ) )
{
strError = "Sin Nombre de la aplicación";
return false;
}
clsParametros objParams = new clsParametros();
if ( ! objParams.GenerarCadenaCnx( strApp ) )
{
strError = objParams.Error;
objParams = null;
return false;
}
strCadenaCnx = objParams.CadenaCnx;
objParams = null;
return true;
}
catch ( Exception ex )
{
strError = ex.Message;
return false;
}*/
string[] parametros;
string line;
StreamReader r = new StreamReader("conexion.txt");
try
{
line = r.ReadLine();
parametros = line.Split(':');
strCadenaCnx = "Data Source=" + parametros[0] + "\" + parametros[1] + " ; Initial Catalog=PQR ; User ID=TUENLACETV ; PASSWORD=1234";
return true;
}
catch (Exception ex)
{
strError = ex.Message;
return false;
}
}
private bool AbrirCnx()
{
if ( ! GenerarCadenaCnx() )
return false;
objCnx.ConnectionString = strCadenaCnx;
try
{
objCnx.Open();
blnHayCnx = true;
return true;
}
catch ( Exception ex )
{
strError = ex.Message;
blnHayCnx = false;
return false;
}
}
#endregion
#region "Métodos Públicos"
public void CerrarCnx()
{
try
{
objCnx.Close();
objCnx = null;
blnHayCnx = false;
}
catch (Exception ex)
{
strError = "No se cerró o liberó la conexión, " + ex.Message;
}
}
public bool Consultar( bool blnParametros )
{
try
{
if ( string.IsNullOrEmpty( strSQL ) )
{
strError = "No definió la instrucción SQL";
return false;
}
if ( ! blnHayCnx )
if ( ! AbrirCnx() )
return false;
//Preparar el Comando para ejecutar la transacción SQL en la BD
objCmd.Connection = objCnx;
objCmd.CommandText = strSQL;
if (blnParametros)
objCmd.CommandType = CommandType.StoredProcedure;
else
objCmd.CommandType = CommandType.Text;
objReader = objCmd.ExecuteReader(); //Realizar la transacción en la BD
return true;
}
catch ( Exception ex )
{
strError = ex.Message;
return false;
}
}
public bool ConsultarValorUnico( bool blnParametros )
{
try
{
if ( string.IsNullOrEmpty( strSQL ) )
{
strError = "No definió la instrucción SQL";
return false;
}
if ( ! blnHayCnx )
if ( ! AbrirCnx() )
return false;
//Preparar el Comando para ejecutar la transacción SQL en la BD
objCmd.Connection = objCnx;
objCmd.CommandText = strSQL;
if (blnParametros)
objCmd.CommandType = CommandType.StoredProcedure;
else
objCmd.CommandType = CommandType.Text;
objVrUnico = objCmd.ExecuteScalar(); //Realizar la transacción en la BD
return true;
}
catch (Exception ex)
{
strError = ex.Message;
return false;
}
}
public bool EjecutarSentencia( bool blnParametros )
{
try
{
if ( string.IsNullOrEmpty(strSQL) )
{
strError = "No definió la instrucción SQL";
return false;
}
if ( ! blnHayCnx )
if ( ! AbrirCnx() )
return false;
//Preparar el Comando para ejecutar la transacción SQL en la BD
objCmd.Connection = objCnx;
objCmd.CommandText = strSQL;
if (blnParametros)
objCmd.CommandType = CommandType.StoredProcedure;
else
objCmd.CommandType = CommandType.Text;
objCmd.ExecuteNonQuery(); //Realizar la transacción en la BD
return true;
}
catch (Exception ex)
{
strError = ex.Message;
return false;
}
}
public bool LlenarDataSet( bool blnParametros )
{
try
{
if ( string.IsNullOrEmpty( strSQL ) )
{
strError = "No definió la instrucción SQL";
return false;
}
if ( ! blnHayCnx )
if ( ! AbrirCnx() )
return false;
//Preparar el Comando para el DataAdapter
objCmd.Connection = objCnx;
objCmd.CommandText = strSQL;
if (blnParametros)
objCmd.CommandType = CommandType.StoredProcedure;
else
objCmd.CommandType = CommandType.Text;
//Preparar el DataAdapter para el uso del comando en la BD
objAdapter.SelectCommand = objCmd; //El DataAdapter Utiliza el Command para la transacción
objAdapter.Fill(objDts);//Realizar la transacción en la BD y el llenado del DataSet/Datatable
return true;
}
catch (Exception ex)
{
strError = ex.Message;
return false;
}
}
#endregion
}
}
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
Open
NexSqaud opened this issue
Aug 24, 2019
· 0 comments
Comments
После отправки сообщения ботом вызывается исключение, сообщение приходит, после этого бот не реагирует.
Метод не найден: «Void VkNet.Model.RequestParams.MessagesSendParams.set_RandomId(Int64)»
public static void messageReceived(object sender, MessageReceivedEventArgs eventArgs) { VkBot vk = sender as VkBot; var peerId = eventArgs.Message.PeerId != null ? eventArgs.Message.PeerId : eventArgs.Message.UserId; var fromId = eventArgs.Message.FromId != null ? eventArgs.Message.FromId : eventArgs.Message.UserId; var text = eventArgs.Message.Body != null ? eventArgs.Message.Body : "Ошибка!"; if (peerId != fromId) { // беседа } else { MessagesSendParams message = new MessagesSendParams(); message.Message = text; message.RandomId = Environment.TickCount; message.UserId = fromId; vk.Api.Messages.Send(message); } }
1 participant
#c# #asp.net-mvc #visual-studio-2017 #simple-injector #webapi
#c# #asp.net-mvc #visual-studio-2017 #простой инжектор #webapi
Вопрос:
я пытаюсь использовать простой инжектор внутри моего проекта web api, после этого я получил эту ошибку
вот мой файл SimpleInjectorInitializer.cs :
[assembly: WebActivator.PostApplicationStartMethod(typeof(Argo.WebApi.App_Start.SimpleInjectorWebApiInitializer), "Initialize")]
namespace Argo.WebApi.App_Start
{
using System.Web.Http;
using Argo.Core.Cache.Elasticsearch;
using Argo.DataRepository.Cache.Interface;
using Argo.Web.Api;
using SimpleInjector;
using SimpleInjector.Integration.WebApi;
using SimpleInjector.Lifestyles;
public static class SimpleInjectorWebApiInitializer
{
/// <summary>Initialize the container and register it as Web API Dependency Resolver.</summary>
public static void Initialize()
{
var container = new Container();
container.Options.DefaultScopedLifestyle = new AsyncScopedLifestyle();
InitializeContainer(container);
container.RegisterWebApiControllers(GlobalConfiguration.Configuration);
container.Verify();
GlobalConfiguration.Configuration.DependencyResolver =
new SimpleInjectorWebApiDependencyResolver(container);
}
private static void InitializeContainer(Container container)
{
//#error Register your services here (remove this line).
// For instance:
container.Register<IElasticOccurrenceCache, ElasticOccurrenceCache>(Lifestyle.Scoped);
container.Register<IBigNumbersService, BigNumbersService>(Lifestyle.Scoped);
}
}
}
этот файл был сгенерирован автоматически после установки пакета simple injector
// that is the only code i add in this file
container.Register<IElasticOccurrenceCache, ElasticOccurrenceCache>(Lifestyle.Scoped);
container.Register<IBigNumbersService, BigNumbersService>(Lifestyle.Scoped);
я надеюсь, что это вся информация, которая вам нужна, вам нужна дополнительная информация, которую вы можете задать мне в комментарии, и я ее предоставлю
Спасибо за помощь
Ответ №1:
Вы можете решить это из трассировки стека:
WebRequestLifestyle
Класс SimpleInjector (живет в SimpleInjector.Integration.Web.dll ) обновляется, и его ctor делегирует ctor своего базового класса ScopedLifestyle
(живущего в SimpleInjector.dll ), в котором, как он ожидает, будет показана подпись.
Но когда среда выполнения загружает ScopedLifestyle
тип из отдельной сборки, она не находит того, что ожидает там быть — ни одна из доступных подписей ctor не верна, ни одна из них не соответствует тому, что SimpleInjector .Integration.Web.dll сказал, что должен быть там.
Единственные два объяснения:
- команда SimpleInjector допустила ужасную ошибку в своих сборках
- или у вас несоответствующие версии SimpleInjector .dll и SimpleInjector.Integration.Web.dll
Лучший способ решить эту проблему — удалить все ваши папки obj, bin и package (не полагайтесь на «чистую» функциональность VS), убедитесь, что все ваши ссылки на пакеты указывают на пакеты, которые должны работать вместе, затем запустите nuget restore .
На самом деле я бы рекомендовал удалить SimpleInjector и SimpleInjector .Интеграция.Веб полностью, затем только переустановка второго — это должно автоматически установить соответствующую версию базового пакета.
(подробнее о классах см. Здесь: https://simpleinjector.org/ReferenceLibrary/html/T_SimpleInjector_Integration_Web_WebRequestLifestyle.htm — не полезно для решения, но помогло мне в ответе)
Комментарии:
1. Я могу гарантировать, что вариант 1) не является причиной. Скорее всего, OP использует версию веб-пакета версии 4.x, при этом используется версия 5.x основной библиотеки.
2. В противном случае я совершил ужасную ошибку 😉
на Windows 2008 R2, работающем на виртуальной машине Virtuozzo, ASP.NET MVC 4 web с помощью Entity Framework выдает исключение
Method not found: 'Void System.Data.Objects.ObjectContextOptions.set_UseConsistentNullReferenceBehavior(Boolean)'
An одинаковых web с той же сети.config работает нормально на другом (корневом) сервере с Windows 2012 и, конечно, локально в среде разработки.
мы используем .NET 4.0. Верхняя часть трассировки стека выглядит следующим образом:
[MissingMethodException: метод не найден: ‘Void Система.Данные.Объекты.ObjectContextOptions.set_UseConsistentNullReferenceBehavior(Boolean)’.]
Система.Данные.Сущность.Внутренний.LazyInternalContext.InitializeContext () +0
Система.Данные.Сущность.Внутренний.InternalContext.ExecuteSqlQuery (строка sql, параметры объекта []) +34
Система.Данные.Сущность.Внутренний.InternalContext.ExecuteSqlQueryAsIEnumerable (строка sql, параметры объекта []) +91
Система.Данные.Сущность.Внутренний.InternalContext.ExecuteSqlQuery (тип elementType, строка sql, объект[] параметров) +250
Система.Данные.Сущность.Внутренний.InternalSqlNonSetQuery.Метод getenumerator() +34
Система.Данные.Сущность.Внутренний.InternalSqlQuery1.GetEnumerator() +28
1..ctor (IEnumerable
System.Collections.Generic.List1 collection) +382
1 Источник) +80
System.Linq.Enumerable.ToList(IEnumerable
[…]
Я сделал все, что предложены в может ли кто-нибудь определить, почему я продолжаю получать эту ошибку, тестируя бета-версию EF 5. Нет никаких следов старой бета-версии EF. Я вновь установлен .Сеть 4.
ошибка редко встречается в Google.
что еще я могу попробовать?
1 ответов
Я также столкнулся с этим, и проблема заключалась в том, что версии Entity Framework 4.1 и 5 установлены на моей рабочей станции. Эта конкретная программа должна быть установлена на сервере, на котором работает .Net 4, но не 4.5. (По другим причинам, мы не можем обновить сервер.) Однако по умолчанию, когда я добавил ADO.Net модель данных сущности в мой проект Visual Studio добавила ссылку на EF версии 5.
удалив ссылку EF и вручную добавив ее обратно в качестве версии 4.1, она успешно запущен на сервере.
возможно, вы уже решили это, установив .Net 4.5 на своем сервере…