小编Mrc*_*ief的帖子

.Net xsd.exe工具不会生成所有类型

出于某种原因,MS .Net(v3.5)工具 - xsd.exe在任何元素中未使用时都不会生成类型.

例如

XSD文件(我投入复杂元素以避免此警告 - "警告:无法生成类,因为找不到具有复杂类型的顶级元素."):

<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://tempuri.org/XMLSchema.xsd"
    elementFormDefault="qualified"
    xmlns="http://tempuri.org/XMLSchema.xsd"
    xmlns:mstns="http://tempuri.org/XMLSchema.xsd"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
  <xs:simpleType name="EnumTest">
    <xs:restriction base="xs:string">
      <xs:enumeration value="item1" />
      <xs:enumeration value="item2" />
      <xs:enumeration value="item3" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="myComplexType">
    <xs:attribute name="Name" use="required" type="xs:string"/>
  </xs:complexType>
  <xs:element name="myElem" type="myComplexType"></xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)

当我通过使用xsd.exe运行此时

xsd/c xsdfile.xsd

我没有在生成的cs文件中看到EnumTest.

注意; 即使我不在这里使用枚举,但在我的实际项目中,我有这样的情况,我们发送枚举的字符串值作为输出.

如何强制xsd工具包含这些?或者我应该切换到其他工具?

我在Visual Studio 2008中工作.

.net xsd.exe visual-studio

7
推荐指数
1
解决办法
1万
查看次数

DDD - 聚合根 - 示例订单和OrderLine

我试图让我的手脏学习DDD(通过开发一个样本电子商务网站与像实体Order,OrderLines,Product,Categories等).从我可以看到的聚合根概念我认为Order类应该是一个聚合根OrderLine.

到目前为止事情进展顺利,但是当它从UI定义创建订单流时我很困惑.当我想向订单对象添加订单行时,我应该如何获取/创建OrderLine对象的实例:

  1. 我应该OrderLine()在我的UI/Service类中对新语句进行 硬编码
  2. 我应该定义与像参数的方法productID,quantity等在Order类的?

此外,如果我想Order使用DI 从UI或类中删除硬编码实例,该怎么办?对此最好的方法是什么?

dns domain-driven-design object instantiation

7
推荐指数
1
解决办法
5522
查看次数

如何反编译pdb以获取C#源代码?

我的场景:我想在日志文件中写入发生异常的部分代码(例如,之前的5行和发生异常的5行之后 - 或者至少是该方法的所有代码).

我的想法是用C#代码反编译pdb文件,并从反编译的文件中找到一个在catch块中异常的方法.

Pbd文件存在,我的应用程序构建为调试版本.我知道有些工具允许通过它的GUI(例如Reflector)进行反编译,但我希望从我的代码中获得该功能.

怎么做?

.net c# logging decompiler pdb-files

7
推荐指数
2
解决办法
1万
查看次数

获取XML文件并转换为长字符串以进行c#编码

是否有任何技巧或实用程序可以获取XML文件并将文件转换为长字符串以在c#代码中使用?我不想手动复制和粘贴XML文件中的每一行.我希望文件中的每一行都是我的c#代码中的字符串行,然后在行的末尾有一个"+".

c# xml visual-studio-2010 visual-studio

7
推荐指数
2
解决办法
6048
查看次数

ApplicationDbContext - 它在项目中的位置

我想在我的mvc 5应用程序中使用一个(EF)上下文文件,我想使用asp身份.

我在解决方案DAL,GUI和WebAPI中有一些项目.

我想ApplicationDbContext在DAL程序集中移动并从我的UI项目中删除EF completly.

ApplicationDbContext当你开始新项目时你用什么和asp身份?

您是将它留在UI层还是将其移动到数据层?

我真的没有经验丰富的开发人员问我希望它不会被投票.

asp.net-mvc entity-framework projects-and-solutions asp.net-mvc-5 asp.net-identity

7
推荐指数
2
解决办法
5469
查看次数

测试visual studio扩展

是否有另一种方法来测试VS 2010扩展项目?现在我必须旋转VS 2010的新实例并等待.这需要几分钟时间,并且很想知道是否有其他方法可以快速完成.

visual-studio-2010 visual-studio visual-studio-extensions

6
推荐指数
1
解决办法
1166
查看次数

MSBUILD失败,"进程无法访问文件xxxxx,因为它正由另一个进程使用." 当maxcpucount大于1时

我正在尝试使用CruiseControl.NET和MSBUILD以及其中一个命令行开关来改善构建时间,maxcpucount可用于允许构建并行发生.我们的解决方案有60多个项目,因此任何改进都会有所帮助 但是,每当我将maxcpucount提高到1以上时,由于以下原因,我们经常出现构建失败:

"该进程无法访问文件xxxx,因为它正由另一个进程使用.msbuild"

看来额外的并行构建线程/进程是相互锁定的.

cruisecontrol.net msbuild

6
推荐指数
1
解决办法
4645
查看次数

设置超时时HttpClient挂起(Windows Phone)

我正在尝试HttpClient在Windows Phone App中设置超时对象.但是如果请求在超时之前没有完成,则GetAsync永远不会返回值.

我正在使用以下代码来获得响应:

HttpClientHandler handler = new HttpClientHandler();
HttpClient client = new HttpClient(handler);
client.Timeout = TimeSpan.FromSeconds(5);
client.BaseAddress = new Uri("http://www.foo.com");
HttpResponseMessage response = await client.GetAsync("/boo.mp3");//<--Hangs
byte[] data = await response.Content.ReadAsByteArrayAsync();
Run Code Online (Sandbox Code Playgroud)

如何正确设置超时以从GetAsync获取结果?

c# async-await dotnet-httpclient windows-phone-8

6
推荐指数
2
解决办法
2万
查看次数

javascript表单提交在chrome中不起作用

我有以下html:

<body>
<form action="site1">
    <input type="image" name="submit" border="0" src="images/front/search_travel.png" alt=""  onclick="provider_popup();"/>
</form>

<form  name="frmRight1"  action="site2" target="_blank" >
    <input type="hidden" name="sector_id" id="sector_id" value="90" />
    <input type="submit" style="visibility:hidden;" />
 </form>

 <script type="text/javascript">
 function provider_popup (){
        document.frmRight1.submit();
        return false;
  } 
</script>
</body>
Run Code Online (Sandbox Code Playgroud)

当我提交带有名称的按钮时submit,我得到另一个标签,它将加载'site2'

但是这个过程不适用于chrome.

让我知道原因

javascript google-chrome

5
推荐指数
1
解决办法
3万
查看次数

如何使用 travis 构建阶段有条件地排除阶段/作业(测试版功能)

试图让 travis 跳过 PR/非主分支构建的发布阶段,但我似乎无法得到正确的配方。

travis 配置列于此处

language: node_js
cache:
  directories:
    - node_modules
node_js:
  - '8'
  - '6'
before_install:
  - npm install -g npm@5
  - npm install -g greenkeeper-lockfile@1
install:
  - yarn install --ignore-engines
before_script: greenkeeper-lockfile-update
after_script: greenkeeper-lockfile-upload
script:
  - yarn coveralls
branches:
  except:
    - /^v\d+\.\d+\.\d+$/
jobs:
  include:
    - if: branch = master
    - stage: release
      node_js: lts/*
      script: echo "Deploying to npm ..."
      deploy:
        provider: script
        skip_cleanup: true
        script:
          - npx semantic-release
Run Code Online (Sandbox Code Playgroud)

我也尝试过

jobs:
  include:
    - stage: release …
Run Code Online (Sandbox Code Playgroud)

travis-ci

5
推荐指数
0
解决办法
415
查看次数