2 つのクラス ライブラリを参照する SharePoint ビジュアル Web パーツがあります。ライブラリは連携して、Web パーツに値を提供します。ソリューションは、エラーや警告なしでビルドされます....
1>------ Rebuild All started: Project: ClassLibrary1, Configuration: Debug Any CPU ------
1> ClassLibrary1 -> c:\Projects\TempWebPart\ClassLibrary1\bin\Debug\ClassLibrary1.dll
2>------ Rebuild All started: Project: ClassLibrary2, Configuration: Debug Any CPU ------
2> ClassLibrary2 -> c:\Projects\TempWebPart\ClassLibrary2\bin\Debug\ClassLibrary2.dll
3>------ Rebuild All started: Project: TempWebPart, Configuration: Debug Any CPU ------
3> TempWebPart -> c:\Projects\TempWebPart\TempWebPart\bin\Debug\TempWebPart.dll
========== Rebuild All: 3 succeeded, 0 failed, 0 skipped ==========
ただし、スタートボタンを押してデバッグすると、エラーがスローされ、コンパイルされません...
1>------ Build started: Project: TempWebPart, Configuration: Debug Any CPU ------
1> TempWebPart -> c:\Projects\TempWebPart\TempWebPart\bin\Debug\TempWebPart.dll
1> ClassLibrary1 -> c:\Projects\TempWebPart\ClassLibrary1\bin\Debug\ClassLibrary1.dll
1>c:\Projects\TempWebPart\ClassLibrary2\Class2.cs(5,7,5,20): error CS0246: The type or namespace name 'ClassLibrary1' could not be found (are you missing a using directive or an assembly reference?)
========== Build: 0 succeeded, 1 failed, 2 up-to-date, 0 skipped ==========
========== Deploy: 0 succeeded, 0 failed, 0 skipped ==========
次のエラーと警告も表示されます。
Error 1 The type or namespace name 'ClassLibrary1' could not be found (are you missing a using directive or an assembly reference?) c:\Projects\TempWebPart\ClassLibrary2\Class2.cs 5 7 TempWebPart
2 つのクラスライブラリ プロジェクトの Webpart プロジェクトへの参照を追加しました。パッケージの下の詳細メニューにある 2 つのクラス ライブラリの「プロジェクト出力からのアセンブリ」も追加しました...
<Solution xmlns="http://schemas.microsoft.com/sharepoint/" SolutionId="0a8bd835-ad91-49a1-a82d-61e22081fbe6" SharePointProductVersion="14.0">
<Assemblies>
<Assembly Location="ClassLibrary1.dll" DeploymentTarget="GlobalAssemblyCache" />
<Assembly Location="ClassLibrary2.dll" DeploymentTarget="GlobalAssemblyCache" />
<Assembly Location="TempWebPart.dll" DeploymentTarget="GlobalAssemblyCache">
<SafeControls>
<SafeControl Assembly="TempWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5ef7e45135ca6bea" Namespace="TempWebPart" TypeName="*" />
</SafeControls>
</Assembly>
</Assemblies>
<FeatureManifests>
<FeatureManifest Location="TempWebPart_Feature1\Feature.xml" />
</FeatureManifests>
</Solution>
私のライブラリは、このケースをテストするためだけに簡単です..コードは次のとおりです...
namespace ClassLibrary1
{
public class Class1
{
public String Hello = "Hello";
}
}
using ClassLibrary1;
namespace ClassLibrary2
{
public class Class2
{
public String Hello = new ClassLibrary1.Class1().Hello;
}
}
アセンブリは署名されています。WindowsForms アプリケーションで試してみましたが、正常に動作しています。vb ライブラリを試してみましたが、同様のメッセージが表示されます。私はどこかで一歩を踏み外していると思います。vs2012を使用しています。
私は試してみることに本当にこだわっています:(助けていただければ幸いです。
ありがとう