小编CAR*_*OTH的帖子

.NET Framework全局程序集缓存在哪里?

我安装了VS2010和.NET 4.0,然后编译了一个程序集并使用可用的exe运行gacutil

%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools
Run Code Online (Sandbox Code Playgroud)

可执行文件的输出表示程序集已成功安装在Global Assembly Cache上.但是,当我转到%WINDIR%\assembly文件夹时,我找不到使用.NET Framework 4.0安装的程序集gacutil.

我看过一些帖子说.NET Framework 4.0有一个单独的GAC,但我没有找到它所在的位置.

有人可以帮我查一下在哪里可以看到.NET Framework的全局程序集缓存,因为它曾用于以前的版本(%WINDIR%\assembly)?

gac .net-4.0

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

VS2010上的Microsoft.VisualStudio.TestTools.UnitTesting命名空间在哪里?

我将包含一些单元测试项目的VS2008解决方案转换为VS2010.转换后我尝试编译解决方案,但是我收到以下错误:

命名空间"Microsoft"中不存在类型或命名空间名称"VisualStudio"(您是否缺少程序集引用?)

找不到名称空间声明using Microsoft.VisualStudio.TestTools.UnitTesting;.另外,当我尝试添加新的项目引用时,我找不到Microsoft.VisualStudio.QualityTools.UnitTestFramework程序集.

有谁知道我做错了什么?

reference visual-studio-2010

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

如何使用T4在相对路径上打开文件?

我正在尝试运行一个打开XML文件的T4模板,并使用它来生成代码工件.但是,当我尝试运行类似于下面的T4模板时,我收到一条错误消息

<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ assembly name="System.Xml.dll" #>
<#@ assembly name="System.Xml.Linq.dll" #>
<#@ import namespace="System.IO" #>
<#@ import namespace="System.Xml" #>
<#@ import namespace="System.Xml.Linq" #>
<#@ output extension=".cs" #>
namespace ConsoleApplication1
{
<# XElement fragment = XElement.Load("data.xml"); #>
...
Run Code Online (Sandbox Code Playgroud)

Visual Studio 2010错误列表显示以下消息

Running transformation: System.IO.FileNotFoundException: Could not find file 'C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\data.xml'.

It is trying to open the file on the path where the TextTemplateFileGenerator custom tool runs. I'd like it to open the file relative …

t4 visual-studio-2010

10
推荐指数
1
解决办法
4941
查看次数

如何在SQL Server Management Studio上启用自动事务范围?

我习惯使用ToadPL/Sql Developer for Oracle等工具,我在查询窗口上运行的每个SQL语句都在trasaction范围内自动运行.因此,如果我的SQL语句不正确,或者即使我错过了SQL脚本上的内容,我只能通过单击UI上的按钮来回滚.如果一切按预期工作,我可以点击另一个按钮来提交当前交易.在我提到的那些工具上,我不需要为开始,提交或回滚事务编写SQL语句.每个SQL语句都有一个与之关联的隐式事务.

有没有办法在SQL Server Management Studio 2008上实现相同的功能?

t-sql ssms

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

缓存DataContractSerializer实例是个好主意吗?

我正在编写一个Windows服务应用程序,需要在执行期间反复序列化和反序列化XML文档.因为我需要序列化和反序列化在编译期间未知的泛型类型(我不知道我需要序列化/反序列化需要多少类型)我想知道保留缓存是否是个好主意我实例化的DataContractSerializer对象用于序列化和反序列化对象.

我问这个问题是因为我知道缓存XmlSerializer类实例是一个好主意,因为它们在内存下创建动态程序集,并且在内存中动态创建的程序集不会被垃圾回收.

我读到DataContractSerializer依赖于轻量级代码生成,但我并不常常了解它的细节.这就是为什么我问这个问题,我需要了解如果我根据需要实例化DataContractSerializer实例,它会导致我像XmlSerializer那样导致内存泄漏?

我选择使用DataContractSerializer而不是XmlSerializer来序列化内部属性.

caching windows-services xml-serialization datacontractserializer

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

是否可以在SQL Server 2005/SQL Server 2008上的XML列中设置索引?

我有一个应用程序将xml文档存储在SQL Server的列中.XML文档的结构类似于下面的结构:

<document>
    <item>
        ...
        <phoneNumber>0123456789</phoneNumber>
        ....
    </item>
    <item>
        ...
        <phoneNumber>9876543210</phoneNumber>
        ....
    </item>
    ...
</document>
Run Code Online (Sandbox Code Playgroud)

基本上,此列存储一组客户信息.XML文档可以在<item>元素中包含不同的子元素,但是其中一些子元素包含在所有文档中(例如上例中的<phoneNumber>元素).

这样我就可以在表中包含以下值的一行

<document>
    <item>
        <firstName>Carlos</firstName>
        <lastName>Loth</lastName>
        <phoneNumber>0123456789</phoneNumber>
    </item>
    <item>
        <firstName>Alberto</firstName>
        <lastName>Tomatis</lastName>
        <phoneNumber>987654321</phoneNumber>
    </item>
</document>
Run Code Online (Sandbox Code Playgroud)

另一行包含此文档

<document>
    <item>
        <orderNumber>XYZ</orderNumber>
        <phoneNumber>0123456789</phoneNumber>
    </item>
    <item>
        <orderNumber>ABC</orderNumber>
        <phoneNumber>987654321</phoneNumber>
    </item>
</document>
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是,是否可以根据document/item/phoneNumber元素在该XML列上创建索引?我需要执行一个查询,根据phoneNumber信息返回存储在其他"固定已知"列中的信息.

有什么建议或想法吗?

在此先感谢,Carlos Loth.

xml sql-server indexing sql-server-2005

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

如何在继承自另一个COM接口的C#上声明和实现COM接口?

我试图理解从C#代码实现COM接口的正确原因是什么.当接口不从其他基接口继承时,它很简单.像这个:

[ComImport, Guid("2047E320-F2A9-11CE-AE65-08002B2E1262"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IShellFolderViewCB
{
  long MessageSFVCB(uint uMsg, int wParam, int lParam);
}
Run Code Online (Sandbox Code Playgroud)

然而,当我需要实现从其他COM接口继承的接口时,事情开始变得疲惫不堪.例如,如果我实现IPersistFolder2继承的接口,就像我通常在C#代码上IPersistFolder继承的IPersist那样:

[ComImport, Guid("0000010c-0000-0000-C000-000000000046"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IPersist
{
  void GetClassID([Out] out Guid classID);
}

[ComImport, Guid("000214EA-0000-0000-C000-000000000046"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IPersistFolder : IPersist
{
  void Initialize([In] IntPtr pidl);
}

[ComImport, Guid("1AC3D9F0-175C-11d1-95BE-00609797EA4F"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IPersistFolder2 : IPersistFolder
{
  void GetCurFolder([Out] out IntPtr ppidl);
}
Run Code Online (Sandbox Code Playgroud)

操作系统无法调用我的对象实现上的方法.当我调试时,我可以看到我的IPersistFolder2实现的构造函数被多次调用,但是我实现的接口方法没有被调用.我正在实施IPersistFolder2如下:

[Guid("A4603CDB-EC86-4E40-80FE-25D5F5FA467D")]
public class PersistFolder: IPersistFolder2
{
  void IPersistFolder2.GetClassID(ref Guid classID) …
Run Code Online (Sandbox Code Playgroud)

c# com interop

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

如何在C#中将LPCWSTR编组为String?

我正在尝试为以下方法定义P/Invoke签名(在中定义propsys.h)

PSSTDAPI PSRegisterPropertySchema(
    __in PCWSTR pszPath);
Run Code Online (Sandbox Code Playgroud)

我看到的WinNT.hPCWSTR是它的别名LPCWSTR

typedef __nullterminated CONST WCHAR *LPCWSTR, *PCWSTR;
Run Code Online (Sandbox Code Playgroud)

PSSTDAPI是别的HRESULT

那么该PSRegisterPropertySchema方法的P/Invoke签名应该如何呢?

c# pinvoke winapi

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

使用数组初始化语法在C#上初始化Dictionary实例时会发生什么?

有谁知道C#编译器使用以下代码做什么?

dict = new Dictionary<int, string>()
{
    { 1, "value1" },
    { 2, "value2" }
}
Run Code Online (Sandbox Code Playgroud)

它是否创建KeyValuePair实例并调用Add方法或执行更优化的操作尚不清楚.你们中有谁都知道吗?

c# dictionary

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

如何在PowerShell上使用ANSI编码即时提供System.IO.StreamWriter?

我没有创建Power Shell脚本的经验,我正在尝试实例化提供特定文本编码的System.IO.StreamWriter类.我正在尝试这样做:

$file = New-Object System.IO.StreamWriter("sample.txt", [System.Text.Encoding]::Default, 4096)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

New-Object : Cannot find an overload for "StreamWriter" and the argument count: "3". 
At line:1 char:18 
    + $out = New-Object <<<<  System.IO.StreamWriter("sample.txt", [System.Text.Encoding]::Default, 4096)
    + CategoryInfo          : InvalidOperation: (:) [New-Object], MethodException
    + FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand
Run Code Online (Sandbox Code Playgroud)

我查看了MSDN文档StreamWriter构造函数(Stream,Encoding,Int32),它有一个带有三个参数的重载.

有谁知道如何实例化指定编码的System.IO.StreamWriter?

谢谢,

powershell streamwriter

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

"DSL Tools"和"Oslo"有什么区别?

我刚开始玩特定领域的工具开发,而且我正在使用Visual Studio SDK DSL Tools.但是,我听说微软还有另一项针对特定领域开发的计划,称为"奥斯陆".

我的印象是DSL Tools专注于图形领域特定语言,而Oslo专注于文本语言,但我不确定.

有人可能会指出"DSL Tools"和"Oslo"之间的区别是什么?

dsl oslo dsl-tools visual-studio-2008

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