我的VS解决方案文件以.结尾
GlobalSection(ExtensibilityGlobals) = postSolution
EnterpriseLibraryConfigurationToolBinariesPath = packages\Unity.2.1.505.2\lib\NET35;packages\Unity.Interception.2.1.505.2\lib\NET35;packages\EnterpriseLibrary.Common.5.0.505.0\lib\NET35;packages\EnterpriseLibrary.Logging.5.0.505.0\lib\NET35;packages\EnterpriseLibrary.Data.5.0.505.0\lib\NET35;packages\EnterpriseLibrary.ExceptionHandling.5.0.505.0\lib\NET35;packages\EnterpriseLibrary.PolicyInjection.5.0.505.0\lib\NET35;packages\EnterpriseLibrary.Validation.5.0.505.0\lib\NET35
EndGlobalSection
Run Code Online (Sandbox Code Playgroud)
它的目的是什么?
TL; DR
在一个解决方案中,我的VS2012总是想要查看解决方案文件但它没有做任何事情.
我通过删除所述行找到了补救措施.有用.
但我想知道是否有任何副作用.
是否有语法技巧来获取泛型类中的常量而不指定(ad-hoc)类型?
public class MyClass<T>{
public const string MyConstant = "fortytwo";
}
// I try to avoid this type specification.
var doeswork = MyClass<object>.MyConstant;
// Syntax similar to what I'd like to accomplish.
var doesnotwork = MyClass.MyConstant;
Run Code Online (Sandbox Code Playgroud)
有一个关于静态变量(常量)不在不同类型之间共享的警告MyClass<object>,MyClass<int>但我的问题是可能的语法技巧.
我正在写一个简单的插件,偶然发现根据contractType.IsAssignableFrom(pluginType)加载顺序返回不同的结果.
调用IsAssignableFromPlugin会按预期返回True.
但是如果我在加载Plugin 之前加载Contract程序集,那么IsAssignableFrom在Plugin上返回False.
我正在运行Win10和dotnet4.7,但我怀疑它有任何相关性.
[TestMethod]
public void SimplyLoadingPlugin_Succeeds()
{
var plugin = Assembly.LoadFrom(PluginPathFilename);
var res = typeof(Contract).IsAssignableFrom(plugin.GetExportedTypes().Single());
Assert.IsTrue(res); // Succeeds.
}
[TestMethod]
public void LoadingContractAndThenPlugin_Fails()
{
var contract = Assembly.LoadFrom(ContractPathFilename);
var plugin = Assembly.LoadFrom(PluginPathFilename);
var res = typeof(Contract).IsAssignableFrom(plugin.GetExportedTypes().Single());
Assert.IsTrue(res); // Fails.
}
Run Code Online (Sandbox Code Playgroud)
使测试更难:
如果我LoadingContractAndThenPlugin_Fails自己运行测试失败.但如果我一起运行测试,它依赖于订单.SimplyLoadingPlugin_Succeeds第一个和LoadingContractAndThenPlugin_Fails最后一个运行,使两个测试都变为绿色,但是以相反的顺序运行它们都会失败.
所以不知何故,插件之前的合同加载会给我带来麻烦.
我可以在GAC中找不到任何相关内容.
以下是所有需要的文件.可能必须更新路径.
4项目,每个项目一个文件.1解决方案.
public abstract class Contract
{
public abstract int Version { get; set; } …Run Code Online (Sandbox Code Playgroud) 我得到NUnit3TestExecutor converted 279 of 279 NUnit test cases的输出,当我编译。为什么?
我想该解决方案已经从2升级到3,但这只是我的全部线索。
我已经检查过我们仅使用Nunit3。279
只是我们进行的所有测试中的一部分。
更新
挖到NUnit3TestExecutor我发现
private void RunAssembly(string assemblyName, TestFilter filter) {
...
var nunitTestCases = loadResult.SelectNodes("//test-case");
...
foreach (XmlNode testNode in nunitTestCases){
loadedTestCases.Add(testConverter.ConvertTestCase(testNode));
}
TestLog.Info(string.Format("NUnit3TestExecutor converted {0} of {1} NUnit test cases", loadedTestCases.Count, nunitTestCases.Count));
...
}
Run Code Online (Sandbox Code Playgroud)
ConvertTestCase 看起来像这样
/// <summary>
/// Converts an NUnit test into a TestCase for Visual Studio,
/// using the best method available according to the exact
/// type passed and caching results …Run Code Online (Sandbox Code Playgroud) c在C#中有一个空条件运算符?.(有时称为Elvis运算符),如下所示:
var name = project?.customer?.name;
Run Code Online (Sandbox Code Playgroud)
它不会失败,而是返回nullif project或customernull.
VB.NET中有相同的东西吗?
请注意,我不是在寻找,If(b, x, y)而是非常?.替代.
有没有办法强制 PowerShell 在 时重新加载模块using module .\MyModule.psm1?
通常我会使用Import-Module .\MyModule.psm1 -Force,但由于我使用的enum是classC# 风格,所以这是行不通的;因为如果我使用 ,enum则 和class在模块外部不可见Import-Module。
我不能先使用Import-Module然后再使用using module,因为using module必须在第一行。
我的PS版本是5.1.14409.1005
为什么我的用户和角色最终会出现在用户和角色表中,而不是aspnet_users和aspnet_roles?
当我使用Aspnet网站管理工具(visualstudio-> menu-> project-> aspnet配置添加用户时,它最终会在Users表中;以及Roles表中的新角色.
我读过的关于这个主题的一切都是aspnet_users和aspnnet_roles.
我正在使用aspnetmvc4(beta),sqlserver2008r2,visualstudio2010.我已经通过aspnet_regsql.exe在数据库中创建了aspnet_xxx-tables.我嗅探sqlserver并获取针对用户和角色的查询.它甚至创建了一个Applications表.
根据请求,web.config的成员资格部分:
<membership defaultProvider="DefaultMembershipProvider">
<providers>
<clear />
<add connectionStringName="DefaultConnection" enablePasswordRetrieval="false"
enablePasswordReset="true" requiresQuestionAndAnswer="false"
requiresUniqueEmail="false" maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="/"
name="DefaultMembershipProvider"
type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</providers>
</membership>
Run Code Online (Sandbox Code Playgroud) 我试图在控制台应用程序中运行Nancy中的SignalR.
当我的浏览器$.connection.hub.start()它得到404 - NotFound的//localhost:667/negotiate?clientProtocol=1.3
---- 8 <----
我(尝试)在一个端口上运行Nancy而在另一个端口上运行SignalR.南希与剃刀合作.SignalR返回集线器javascript.
(对不起下面的代码量,但是我无法进一步减少它.)
(这个问题可能会从之前已被删除的问题中得到认可 - 我已经标记错误.)
客户代码:
<script type="text/javascript" src='/Scripts/jquery-1.6.4.min.js'></script>
<script type="text/javascript" src="/Scripts/jquery.signalR-2.0.0-beta2.js"></script>
<script src="http://localhost:667/signalr/hubs" type="text/javascript"></script>
var chat;
$(function () {
$.connection.hub.url = '//localhost:667';
$.connection.hub.logging = true;
chat = $.connection.chat;
chat.client.addMessage = onAddMessage; // declared but not here
$.connection.hub.start()
.done(function () {
alert($.connection.id);
chat.server.send('Works!');
})
.fail(function ( failreason ) {
alert( failreason );
});
});
Run Code Online (Sandbox Code Playgroud)
服务器代码(在作为admin运行的控制台程序中)
class Program
{
static void Main(string[] args)
{
const string webUrl = "http://localhost:666"; …Run Code Online (Sandbox Code Playgroud) 我有一个场景,我需要FileInfo结构中的大部分信息 - 创建时间,最后写入时间,文件大小等.我需要能够干净地获取这些信息,但也能够真正地进行单元测试而不需要点击文件系统.
我正在使用System.IO.Abstractions,所以除了这一个,我的大部分课程都能获得99%的成绩.我不知道如何使用它从我的MockFileSystem对象获取我需要的信息.
public void Initialize(IFileSystem fs, string fullyQualifiedFileName)
{
string pathOnly = fs.Path.GetDirectoryName(fullyQualifiedFileName);
string fileName = fs.Path.GetFileName(fullyQualifiedFileName);
// Here's what I don't know how to separate out and mock
FileInfo fi = new FileInfo(fullyQualifiedFileName);
long size = fi.LongLength;
DateTime lastWrite = fi.LastWriteTime;
...
...
}
Run Code Online (Sandbox Code Playgroud)
任何有关该行的帮助将不胜感激.
更新:
这不是现有问题的完全重复,因为我问我该System.IO.Abstractions怎么做,而不是我一般如何做.
对于那些感兴趣的人,我确实找到了实现它的方法:
FileInfoBase fi = fs.FileInfo.FromFileName(fullFilePath);
Run Code Online (Sandbox Code Playgroud)
如果我使用这一行,我会在TEST和PROD环境中获得相同的信息.
我有一个包含90多个项目的解决方案,其中有许多文件夹"隐藏"解决方案资源管理器树中的项目.
由于长时间合并的摇摇欲坠,我有一些不正确的csproj文件.有没有办法获得这些列表?
我可以手动递归树并查找所有"YetAProject(不可用)"项目,但更喜欢更快,更少手动的方式.
我尝试过建设,但因为它们不可用,所以它们没有编译,因此没有任何痕迹.
c# ×5
.net ×3
asp.net ×1
generics ×1
nancy ×1
nunit-3.0 ×1
powershell ×1
self-hosting ×1
signalr ×1
solution ×1
syntax ×1
tfs ×1
unit-testing ×1
vb.net ×1