javascript

java

python

c#

android

c++

node.js

php

reactjs

jquery

html

css

ios

.net

git

ruby-on-rails

sql

c

string

ruby

.net-选项严格和选项显式做什么?

我看到了这篇文章:

错别字……请严格和明确地使用选项。在我担任顾问的一个软件开发项目中,他们到处都出现大量荒谬的错误……原来开发人员无法拼写,并且会声明拼写错误的变量。 没什么大不了的,除非您在为其分配值时使用正确的拼写…并且您已显式关闭选项。 真是太好了……”

无论如何,Option StrictOption Explicit是什么? 我已经用谷歌搜索了,但是不知道(因为大多数是Visual Basic,所以我在做PHP)。

trans by 2020-07-13T09:29:29Z

CodeGo.net>如何迫使VS 2010跳过没有改变的项目的“构建”?

我们产品的解决方案有100多个项目(生产代码500 + ksloc)。 它们大多数是C#项目,但是我们也很少使用C ++ / CLI来与本机代码进行通讯。

重建整个解决方案需要几分钟。 没关系。 如果我想重新构建解决方案,我希望它确实需要一些时间。 完全重建之后,构建解决方案需要时间。 想象一下,我使用了完全重建,现在对我按Build的解决方案没有做任何更改(F6或Ctrl + Shift + B)。 如果没有变化,为什么要花35秒钟? 在输出中,我看到它开始“构建”每个项目-它没有执行真正的构建,但是它所做的事情会占用大量时间。

35s的延误真是让人头疼。 是的,我可以不使用构建解决方案而仅构建项目(Shift + F6)来缩短时间。 如果我在特定的测试项目上运行构建项目,那么我目前正在处理的项目将仅“花8秒钟”。 它要求我在正确的项目上运行项目构建(测试项目以确保也构建了相关的测试代码)。 至少ReSharper测试运行程序正确地认识到仅必须构建此单个项目,并且重新运行测试通常仅包含8s以上的编译。 我当前的编码Kata是:不要触摸Ctrl + Shift + B。

即使我不做任何更改,测试项目的构建也将花费8s。 之所以需要8s是因为它还“构建”了依赖关系=就我而言,它“构建”了20多个项目,但是我仅对单元测试或单个依赖项进行了更改! 我不希望它涉及其他项目。

有没有一种方法可以简单地告诉VS仅构建已进行某些更改的项目以及依赖于已更改项目的项目(最好将此部分作为另一个生成选项)? 我担心您会告诉我,这正是VS所做的,但是以MS方式...

我想改善我的TDD体验并减少编译时间(在TDD中,每分钟可以进行两次编译)。

为了使这一点更加令人沮丧,我正在一个团队中工作,在该团队中,大多数开发人员在加入Java项目之前都曾从事过Java项目。 因此,您可以想象当它们必须使用VS而不是Java中的完全增量编译时,它们会被激怒。 我不需要增量编译类。 我希望工作解决方案的增量编译。 特别是在像VS 2010 Ultimate这样的产品中,它要花费数千美元。

我真的不想得到像这样的答案:

  • 制定单独的解决方案
  • 卸载不需要的项目
  • 等等

我可以在这里阅读这些答案。 这些不是可接受的解决方案。 我们不为VS做出这样的折衷而付费。

trans by 2020-07-13T03:37:32Z

CodeGo.net>如何获取下一个星期日的日期?

可能重复:
ASP.net下个星期二

给定一个月中的某一天,我该如何获得该天的下一个星期日?

因此,如果我在2011年9月13日星期二通过,它将在9月18日返回。

trans by 2020-07-13T02:45:19Z

C#-List <BusinessObject>或BusinessObjectCollection?

在使用C#泛型之前,每个人都将通过创建实现IEnumerable的集合库来为其业务对象编码集合

IE浏览器:

public class CollectionBase : IEnumerable

然后从中派生其业务对象集合。

public class BusinessObjectCollection : CollectionBase

现在有了通用列表类,是否有人会使用它呢? 我发现我使用了两种技术的折衷方案:

public class BusinessObjectCollection : List<BusinessObject>

我这样做是因为我喜欢使用强类型的名称,而不是仅仅传递列表。

你的方法是什么?

trans by 2020-07-13T01:07:19Z

CodeGo.net>在WinForm应用程序中播放MP3文件

我正在开发System.Media.SoundPlayer应用程序。 我想在用户单击按钮时播放MP3文件。

MP3文件位于执行应用程序的计算机的文件系统中。
我已经搜索了一段时间,并且找到了有关System.Media.SoundPlayer类的信息。 但是我已经读到SoundPlayer类只能用于播放.wav格式的文件。

哪些类可以用来播放.mp3格式的文件?

任何帮助将不胜感激。

trans by 2020-07-12T23:56:29Z

Cip-ZipArchive创建无效的ZIP fi

我正在尝试从具有一个条目的代码创建一个新的ZIP包,并将ZIP包保存到文件中。 我正在尝试通过System.IO.Compression.ZipArchive类实现这一点。 我正在使用以下代码创建ZIP包:

using (MemoryStream zipStream = new MemoryStream())
{
    using (ZipArchive zip = new ZipArchive(zipStream, ZipArchiveMode.Create))
    {
        var entry = zip.CreateEntry("test.txt");
        using (StreamWriter sw = new StreamWriter(entry.Open()))
        {
            sw.WriteLine(
                "Etiam eros nunc, hendrerit nec malesuada vitae, pretium at ligula.");
        }

然后我将ZIP保存到WinRT中的一个文件中:

        var file = await Windows.Storage.ApplicationData.Current.LocalFolder.CreateFileAsync("test.zip", CreationCollisionOption.ReplaceExisting);
        zipStream.Position = 0;
        using (Stream s = await file.OpenStreamForWriteAsync())
        {
            zipStream.CopyTo(s);
        }

或在普通的.NET 4.5中:

        using (FileStream fs = new FileStream(@"C:\Temp\test.zip", FileMode.Create))
        {
            zipStream.Position = 0;
            zipStream.CopyTo(fs);
        }

但是,我无法在Windows资源管理器,WinRAR等中打开生成的文件。(我检查了生成的文件的大小是否与zipStream的长度匹配,因此流本身已正确保存到文件中。)
我是在做错什么事还是ZipArchive类有问题?

trans by 2020-07-12T21:08:16Z

.net-如何将自定义nuget提要添加到TeamCity构建中?

我已经使用Teamcity创建了一个Nuget Server(在Internet上的虚拟机上运行),并创建了将软件包发布到其中的版本。

我还有另一个项目需要使用该软件包。 这个项目也是建立在团队精神上的。 在我的本地Visual Studio上,我添加了nuget feed uri,安装了该软件包,一切正常。 但是,当我尝试在teamcity上构建它时,它说“未找到软件包”。

所以我的问题是:“如何将自定义nuget提要添加到TeamCity构建中?”

trans by 2020-07-12T20:54:59Z

NET 4.0中的MemoryCache与ObjectCache有什么区别?

.NET Framework 4.0 MemoryCacheObjectCache和有什么区别?在哪里使用哪个对象?

trans by 2020-07-12T16:27:29Z

.net-如何用鼠标光标在屏幕上最大化WPF窗口?

根据MSDN文档的WindowStartupLocation属性:

设置CenterScreen可使窗口位于包含鼠标光标的屏幕中央。

尽管CenterScreen字段的MSDN文档本身将其定义为:

窗口的启动位置是在其上打开的屏幕的中心。

一个简单的测试显示了其应有的工作方式:

MainWindow.xaml

<Window x:Class="CenterScreenTest.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <Button Click="button_Click">Open Window</Button>
</Window>

MainWindow.xaml.cs

using System.Windows;

namespace CenterScreenTest
{
    public partial class MainWindow
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        void button_Click(object sender, RoutedEventArgs e)
        {
            Window window = new Window();
            window.WindowStartupLocation = WindowStartupLocation.CenterScreen;
            window.Show();
        }
    }
}

如果在双显示器系统上进行测试,则可以看到新窗口将在单击按钮时位于鼠标光标所在的屏幕中央。 这就是它应该如何工作的。

但是,如果尝试在显示窗口之前将其设置为最大化,则新窗口将仅在启动应用程序的显示器上最大化。 将button_Click事件处理程序更改为以下内容,以了解我的意思:

void button_Click(object sender, RoutedEventArgs e)
{
    Window window = new Window();
    window.WindowStartupLocation = WindowStartupLocation.CenterScreen;
    window.WindowState = WindowState.Maximized;
    window.Show();
}

现在,无论单击该按钮时鼠标光标在什么位置,窗口都只会在启动应用程序的屏幕上最大化。 如果在显示后将窗口状态设置为最大化,则CenterScreen可以正常工作。 这等效于用户最大化窗口。 例如:

void button_Click(object sender, RoutedEventArgs e)
{
    Window window = new Window();
    window.WindowStartupLocation = WindowStartupLocation.CenterScreen;
    window.Show();
    window.WindowState = WindowState.Maximized;
}

当然,这里的问题是,在显示它之后最大化窗口要花费更长的时间,在像我的应用程序中,该窗口需要立即弹出。

有人知道解决方案吗?

trans by 2020-07-12T12:51:11Z

c#-从字节数组获取文件的大小(不保存到磁盘)

我有一个字节数组,如果我将这些字节写入文件,我想计算出文件大小。 是否可以不将文件写入光盘?

trans by 2020-07-12T12:47:47Z

缺少版本和工具:.NET Core,Core Tools,dotnet Core CLI,

好的,作为一个新的.net开发生态系统,我有点迷失于Core工具,版本等。

有人可以解释一下

  • VS 2015的核心工具预览x-参见此处
  • .NET Core / SDK是否(1.0、1.0.1、1.1)-请参见此处
  • 核心CLI SDK预览2、3、4、5-请参阅此处

什么是预览,它们与主版本号有何关系?

对于新手来说,Core本身的版本似乎很奇怪

  • 当您进入下载页面时:[https://www.microsoft.com/net/download/core#/current/sdk]
  • 您会看到下载.NET Core 1.1 SDK-安装程序会为您提供dotnet-dev-win-x64.1.0.0-preview2-1-003177.exe:
    • 1.0.0 ??
  • 在同一页面上,您可以下载* Visual Studio 2015工具(预览版2)*,该工具会为您提供DotNetCore.1.0.1-VS2015Tools.Preview2.0.3:
    • 1.0.1 ?

在dotnet核心github存储库上,我们可以看到存在各种版本的一些工具:

1.0.3发布于2016年12月13日

1.1发布于2016年11月16日

1.1.0预览版1发布于2016年10月24日

1.0.2发布于2016年10月17日

1.0.1发布于2016年9月13日

1.0.0发布于2016年6月27日RC2发布于2016年5月16日RC1发布于2015年11月18日

在dotnet CLI存储库(我不理解它是构建工具吗?)上,我们可以看到它们正在谈论Preview4,但是在下载链接中,所有内容都标记为“预览5”。他们还讨论了如何下载.NET Core SDK Installer:SDK是否存在? 核心安装程序,所以是另一个版本,还是命名错误,实际上仅是CLI? 还是SDK包含CLI,然后是哪个版本?

它为您提供了一个dotnet-win-x64.latest.exe,它似乎可以安装.NET Core 1.0.1 Preview 5 ...

最后,在Azure上,Web应用程序控制台将为您提供:

dotnet --version
D:\home\site\wwwroot
1.0.0-preview3-004056

WAOOOW:有点失落...

有哪些合适的工具,以哪个正确的版本启动新项目并可以在Azure上正确部署?

trans by 2020-07-12T09:08:31Z

.net-两个C#扩展通用方法之间的歧义调用,一个在T:class,另一个在T:stru

考虑两种扩展方法:

public static T MyExtension<T>(this T o) where T:class
public static T MyExtension<T>(this T o) where T:struct

和一类:

class MyClass() { ... }

现在,在上述类的实例上调用extension方法:

var o = new MyClass(...);
o.MyExtension(); //compiler error here..
o.MyExtension<MyClass>(); //tried this as well - still compiler error..

编译器说,当我在类上调用该方法时,它是一个模棱两可的调用。 我以为它可以确定要调用的扩展方法,因为MyClass是类,而不是结构?

trans by 2020-07-11T19:20:14Z

如何从不使用XElement的自定义XML序列化/反序列化为'Dictionary <int,string>`?

具有空的Dictionary<int, string>如何使用XML中的键和值填充它

<items>
<item id='int_goes_here' value='string_goes_here'/>
</items>

并使用XElement将其序列化回XML?

trans by 2020-07-11T18:18:36Z

c#-WPF CreateBitmapSourceFromHBitmap()内存

我需要逐个像素绘制一个图像并将其显示在WPF中。 我正在尝试通过使用BitmapSource然后使用CreateBitmapSourceFromHBitmap()为WPF图像控件创建BitmapSource来执行此操作。 我在某处发生内存泄漏,因为当重复调用CreateBitmapSourceFromBitmap()时,内存使用率会上升,并且直到应用程序结束时才会下降。 如果我不致电CreateBitmapSourceFromBitmap(),则内存使用情况不会发生明显变化。

for (int i = 0; i < 100; i++)
{
    var bmp = new System.Drawing.Bitmap(1000, 1000);
    var source = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
        bmp.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty,
        System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
    source = null;
    bmp.Dispose();
    bmp = null;
}

如何释放BitmapSource的内存?

trans by 2020-07-11T11:44:59Z

的SignalR 2.0错误:无法加载文件或程序集Microsoft.Owin.Security

我正在逐步按照本教程进行操作

[HTTP://呜呜呜.asp.net/signal R/overview/signal R-20/getting-started-with-signal R-20/tutorial-signal R-20-self-host]

我在下面标记的行上遇到了异常

        string url = "http://localhost:8080";
        using (WebApp.Start(url)) //<------ error on this line
        {
            Console.WriteLine("Server running on {0}", url);
            Console.ReadLine();
        }

错误信息:

无法加载文件或程序集“ Microsoft.Owin.Security,版本= 2.0.1.0,区域性=中性,PublicKeyToken = 31bf3856ad364e35”或其依赖项之一。 找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)

更多信息:

在我的项目解决方案中,引用指向NuGet的packages文件夹中的dll。

NuGet已将其添加到我的App.config文件中

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-2.1.0.0" newVersion="2.1.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
  </dependentAssembly>
</assemblyBinding>

在程序包文件夹packages\Microsoft.Owin.Security.2.0.0\lib\net45中,Microsoft.Owin.Security.dll的文件版本为2.020911.395。

trans by 2020-07-11T11:34:19Z

.net-C#拖放在Windows 7上不起作用

我有一个使用C#winforms的项目已经有一段时间了。 在Windows 7发布之前,我实现了拖放功能。 像魅力一样工作。 但是,当使用Windows 7时,它不起作用。 该事件甚至都不会触发。

AllowDrop设置为true。 订阅DragEnter时,它不会在Windows 7中被调用(不确定Vista)。 但是在XP上它可以一直工作。 该程序以administritave特权运行。

Windows 7 vs XP中的拖放有什么区别吗? 不知道是否相关,但我使用的是x64

trans by 2020-07-11T11:29:39Z

.net-C#XmlSerializer BindingFailu

我使用XmlSerializer在一行代码中得到BindingFailure:

XmlSerializer s = new XmlSerializer(typeof(CustomXMLSerializeObject));

显示名称为CustomXMLSerializeObject.XmlSerializers的程序集无法在ID为1的AppDomain的“ LoadFrom”绑定上下文中加载。失败的原因是:System.IO.FileNotFoundException:无法加载文件或程序集XMLSerializeObject.XmlSerializers,版本 = 1.4.0.0,文化=中性,PublicKeyToken =空”或其依赖项之一。 该系统找不到指定的文件。

该错误相当长,并继续说明绑定前的状态信息以及尝试查找该文件的位置。

我要反序列化的自定义对象相对简单-只是一堆具有公共访问器的私有整数和字符串。 我确实有一个私有变量,它是另一个自定义可序列化的类,但是除了私有字符串外,没有任何其他东西,但带有公共访问器。

尴尬的部分? 这仅在我反序列化时发生。 当我序列化对象时,那行代码运行良好。 它工作正常,并且对象反序列化并完美填充。 并没有真正注意到任何性能损失或较长的加载时间。

这个警告到底是什么(不是错误或异常,程序随后可以正常运行)? 为什么会发生? 如何在不简单禁用警告的情况下阻止它?

trans by 2020-07-11T07:19:59Z

首页> C#>如何从ThreadPool.QueueUserWorkItem捕获异常?

我有以下代码引发异常:

ThreadPool.QueueUserWorkItem(state => action());

当操作引发异常时,我的程序崩溃。 处理这种情况的最佳实践是什么?


相关:.Net ThreadPool线程上的异常

trans by 2020-07-11T00:17:29Z

CodeGo.net>等待TAS内的异步/等待

我的.Wait中有此构造,

var tasks = new List<Task>();

var t = Task.Factory.StartNew(
    async () =>
    {
        Foo.Fim();
        await Foo.DoBar();
    });

//DoBar not completed
t.Wait();
//Foo.Fim() done, Foo.DoBar should be but isn't

但是,当我.Wait输入t时,它不会等待对DoBar()的调用完成。我如何才能真正等待?

trans by 2020-07-10T23:41:24Z

声明类或接口的IDisposable?

从以下情况开始:

public interface ISample
{
}

public class SampleA : ISample
{
   // has some (unmanaged) resources that needs to be disposed
}

public class SampleB : ISample
{
   // has no resources that needs to be disposed
}

SampleA类应实现IDisposable接口,以释放资源。您可以通过两种方式解决此问题:

1.将所需的接口添加到类Sample中:

public class SampleA : ISample, IDisposable
{
   // has some (unmanaged) resources that needs to be disposed
}

2.将它添加到接口ISample中,并强制派生类实现它:

public interface ISample : IDisposable
{
}

如果将其放入接口,则即使没有任何可处理的内容,也将强制任何实现实现IDisposable。 另一方面,很清楚地看到接口的具体实现需要一个处理/使用块,并且不需要将其强制转换为IDisposable即可进行清理。 两种方式可能都有更多优点/缺点...为什么您建议使用一种偏爱另一种方式?

trans by 2020-07-10T22:02:42Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共133页