我使用Entity Framework,SQL Server 2000,Visual Studio 2008和Enterprise Library 开发了一个应用程序.
它在本地工作得非常好,但是当我将项目部署到我们的测试环境时,我收到以下错误:
无法加载一个或多个请求的类型.检索LoaderExceptions属性以获取更多信息
堆栈跟踪:在System.Reflection.Module._GetTypesInternal(StackCrawlMark和stackMark)
在System.Reflection.Assembly.GetTypes()
at System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.LoadTypesFromAssembly(LoadingContext context)
在System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.InternalLoadAssemblyFromCache(LoadingContext context)
at System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.LoadAssemblyFromCache(Assembly assembly,Boolean loadReferencedAssemblies,Dictionary
2 knownAssemblies, Dictionary
2&typesInLoading,List`1&errors)at System.Data.Metadata.Edm.ObjectItemCollection.LoadAssemblyFromCache(ObjectItemCollection objectItemCollection,Assembly assembly,Boolean loadReferencedAssemblies)
at System.Data.Metadata.Edm.ObjectItemCollection.LoadAssemblyForType(Type type)
at System.Data.Metadata.Edm.MetadataWorkspace.LoadAssemblyForType(Type type,Assembly callingAssembly)
at System.Data.Objects.ObjectContext.CreateQuery [T](String queryString,ObjectParameter [] parameters)
实体框架似乎有问题,任何线索如何修复它?
NUnit有一个名为Values的功能,如下所示:
[Test]
public void MyTest(
[Values(1,2,3)] int x,
[Values("A","B")] string s)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
这意味着测试方法将运行6次:
MyTest(1, "A")
MyTest(1, "B")
MyTest(2, "A")
MyTest(2, "B")
MyTest(3, "A")
MyTest(3, "B")
Run Code Online (Sandbox Code Playgroud)
我们现在正在使用MSTest,是否有任何相同的功能,以便我可以使用多个参数运行相同的测试?
[TestMethod]
public void Mytest()
{
// ...
}
Run Code Online (Sandbox Code Playgroud) 我在团队项目中的tfs中有一个项目,然后我们将项目移动到另一个团队项目中的不同位置.
我已经将Jenkins配置为连接到团队项目并构建我的解决方案但是当我更改设置以连接到新的tfs团队项目时,它给出了以下错误:
[workspace] $ "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe" workspace -new Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain-eg.net:8080/tfs/newteamproject ********
The path D:\jenkins\jobs\ProjectName1-Build\workspace is already mapped in workspace Hudson-ProjectName1-Build-MASTER [http://domain-eg.net:8080/tfs/oldteamproject].
Run Code Online (Sandbox Code Playgroud)
所以上面显示有一个现有的工作区,所以我运行下面的命令来删除它
tf workspace -delete Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain-eg.net:8080/tfs/oldteamproject
Run Code Online (Sandbox Code Playgroud)
并且它提示工作区已被删除但我仍然得到相同的错误.
我还通过运行以下命令检查映射是否已被删除:
tf workspace -server:http://domain-eg.net:8080/tfs/oldteamproject Hudson-ProjectName1-Build-MASTER
Run Code Online (Sandbox Code Playgroud)
但它表示工作区不按预期存在.
所以,我认为它可能在某处缓存并运行以下命令:
tf workspaces /remove:* /collection:http://domain-eg.net:8080/tfs/oldteamproject
Run Code Online (Sandbox Code Playgroud)
它说"缓存中没有工作区匹配*来自服务器http://domain-eg.net:8080/tfs/oldteamproject "
所以我猜它甚至都没有缓存.
是什么导致错误以及如何解决?
在下面的代码中使用加号时,将创建多少个String对象?
String result = "1" + "2" + "3" + "4";
Run Code Online (Sandbox Code Playgroud)
如果它如下,我会说三个String对象:"1","2","12".
String result = "1" + "2";
Run Code Online (Sandbox Code Playgroud)
我也知道String对象被缓存在String Intern Pool/Table中以提高性能,但这不是问题.
我想监视本地计算机上的进程与另一个(服务器)进程之间的HTTP流量,该进程也在我的本地计算机上运行.
如何配置Fiddler来收听来往的流量localhost
?
我只是想知道ConfigurationManager.AppSettings [Key]是如何工作的?
每次需要密钥时它是否从物理文件中读取?
如果是这样,我应该在缓存中读取web.config的所有应用程序设置,然后从中读取吗?
或者ASP.NET或IIS只在application_startup加载web.config文件一次.
如何验证每次读取是否访问物理文件?
如果我更改了web.config,IIS将重新启动我的应用程序,因此无法以这种方式进行验证.
谢谢,
我有一个方法创建一个包含Error对象的HttpResponseMessage,该对象将根据当前请求媒体类型格式化程序返回.
目前,我已经对XmlMediaTypeFormatter进行了硬编码,但我希望能够在运行时找到当前请求MediaTypeFormatter,但由于我的下面代码存在于单独的类库中,因此我无法访问当前请求对象.
private HttpResponseMessage Create(HttpStatusCode statusCode, string errorCode, string errorMessage)
{
var result = new HttpResponseMessage(statusCode)
{
Content = new ObjectContent<Error>(new Error()
{
Code = errorCode,
Message = errorMessage
}, new XmlMediaTypeFormatter())
};
return result;
}
Run Code Online (Sandbox Code Playgroud)
如何全局访问当前的HttpRequestMessage对象?像HttpContext.Current.Request之类的东西
如果不可能,如何实现上述方法,以便它知道它应该用于当前请求的格式器?
我有一个带有thead和tbody的表结构(Table1).
我的主要thead也有一个桌子里面有自己的thead和tbody.
当我使用$('#Table1 tbody')
它时返回所有tbody元素,而我只需要Table1的tbody.
怎么能实现这一目标?
谢谢,
使用Moq,如何使用输入参数设置方法调用作为具有预期属性值的对象?
var storageManager = new Mock<IStorageManager>();
storageManager.Setup(e => e.Add(It.IsAny<UserMetaData>()));
Run Code Online (Sandbox Code Playgroud)
Add()方法需要具有FirstName属性的UserMetaData对象.
我想确保传递了具有FirstName为"FirstName1"的UserMetaData类型的对象.
如何从Url中删除Key的查询字符串?
我有以下方法工作正常但只是想知道有更好/更短的方式?或内置的.NET方法,可以更有效地做到这一点?
public static string RemoveQueryStringByKey(string url, string key)
{
var indexOfQuestionMark = url.IndexOf("?");
if (indexOfQuestionMark == -1)
{
return url;
}
var result = url.Substring(0, indexOfQuestionMark);
var queryStrings = url.Substring(indexOfQuestionMark + 1);
var queryStringParts = queryStrings.Split(new [] {'&'});
var isFirstAdded = false;
for (int index = 0; index <queryStringParts.Length; index++)
{
var keyValue = queryStringParts[index].Split(new char[] { '=' });
if (keyValue[0] == key)
{
continue;
}
if (!isFirstAdded)
{
result += "?";
isFirstAdded = true;
}
else
{
result …
Run Code Online (Sandbox Code Playgroud) c# ×7
unit-testing ×2
.net ×1
asp.net ×1
asp.net-mvc ×1
clr ×1
fiddler ×1
jenkins ×1
jquery ×1
localhost ×1
moq ×1
mstest ×1
nunit ×1
query-string ×1
regex ×1
string ×1
tdd ×1
tfs ×1
url ×1
web-config ×1